日期:2014-05-17 浏览次数:21409 次
    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来?!
------解决方案--------------------