我正在尝试通过反射构造以下类的实例。
public class Abc
{
private int _a;
public Abc(int a)
{
_a = a;
}
public void Show()
{
MessageBox.Show(_a.ToString());
}
}
我正在使用以下代码段来获取类的构造函数,但是当代码到达时我得到一个“对象引用未设置为对象的实例”异常 ConstructorInfo csInfo = typa.GetConstructor(types);
我检查了 msdn,发现当任何的元素为Type[] types
空。我调试后发现所有元素都有有效值。你能帮我找到实际的问题吗?
Assembly ass = Assembly.GetExecutingAssembly();
Type typa = ass.GetType("Abc");
Type[] types = new Type[1];
types[0] = typeof(int);
ConstructorInfo csInfo =typa.GetConstructor(types);
object [] obj = { 10 };
var AbcObj = csInfo.Invoke(obj) as Abc;
AbcObj.Show();
谢谢