如何创建只有internal的内部类实例
时间:2011-04-25 来源:啃椅族
众所周知,C#中只能new出有public构造函数的对象实例。
当然,你也可通过反射来创建出只私有构造的类。但是,对于只含有internal构造函数的类,不在同一个Assembly里是无法调用到的。(笔者试过N种方法)
最后,查阅了许多国外论坛,终于发现一位大牛给出了解决方案。
使用FormatterServices.GetUninitializedObject(Type type)就可以轻易实现创建了。呵呵
使用Reflector查看,其内部是Native方式实现的,所以原理不明,希望各位达人提醒一下。
[MethodImpl(MethodImplOptions.InternalCall)] private static extern object nativeGetUninitializedObject(RuntimeType type);
相关阅读 更多 +