日期:2014-05-17 浏览次数:21402 次
class Program
{
static void Main(string[] args)
{
A a=B.CreateA();
Console.WriteLine(a.aa);
Console.Read();
}
}
class A {
private A()//禁止直接实例化
{
}
public int aa = 2;
}
class B
{
public static A CreateA()
{
//通过反射实例化
Type t = typeof(A);
A a = t.Assembly.CreateInstance(t.FullName, false, BindingFlags.CreateInstance | BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.ExactBinding, null, null, null, null) as A;
return a;
}
}
------解决方案--------------------
分在不同的 dll 里面,不能用嵌套
那就没法实现了,你的设计存在问题,是错误的
------解决方案--------------------
分在不同工程!呵呵。
不要管它了。不用禁止。
这就好比如说你找了个一开始就被定义为相当自由的女朋友,你想给她戴上贞洁带,那是纠结的。还不如不用管了,看看能测试出什么bug来?!
------解决方案--------------------