![](/img/trans.png)
[英]How to create an instance of the internal constructor with parameters using Reflection?
[英]How to create an object instance of class with internal constructor via reflection?
例:
class Program
{
static void Main(string[] args)
{
var myClass = Activator.CreateInstance(typeof(MyClass));
}
}
public class MyClass
{
internal MyClass()
{
}
}
例外:
system.missingMethodException而
没有为此对象定义的无参数构造函数。
解:
var myClass = Activator.CreateInstance(typeof(MyClass), nonPublic:true);
我无法理解,为什么我无法使用内部构造函数在程序集内创建实例。 此构造函数应该在执行程序集中可用。 对于这个程序集,它应该像public一样工作。
这不是不可能的。 你要告诉它不是一个公众。
var myClass = Activator.CreateInstance(typeof(MyClass), true);//say nonpublic
MyClass中的构造函数是Internal尝试更改为public
public class MyClass
{
public MyClass()
{
}
}
要么
将true传递给CreateInstance
var myClass = Activator.CreateInstance(typeof(MyClass),true );
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.