Reflection 类变量在反射C中重置回null#

Reflection 类变量在反射C中重置回null#,reflection,variables,null,Reflection,Variables,Null,我使用反射创建Person类的实例并执行其构造函数,然后执行Person类的另一个名为“execute”的函数: 问题是,当我调用“Execute”方法时,构造函数中实例化的所有person类变量都为NULL。为什么?我该如何解决这个问题呢?我不是100%,但可以将obj转换为一个人帮助吗?我不是100%,但可以将obj转换为一个人帮助吗?在您的示例中,您使用以下行调用默认构造函数: object personObject = assembly.CreateInstance("Reflectio

我使用反射创建Person类的实例并执行其构造函数,然后执行Person类的另一个名为“execute”的函数:


问题是,当我调用“Execute”方法时,构造函数中实例化的所有person类变量都为NULL。为什么?我该如何解决这个问题呢?

我不是100%,但可以将obj转换为一个人帮助吗?

我不是100%,但可以将obj转换为一个人帮助吗?

在您的示例中,您使用以下行调用默认构造函数:

object personObject = assembly.CreateInstance("ReflectionTest.Person");
这将是构建对象的正确方法:

Assembly assembly = Assembly.GetEntryAssembly();
Type personType = assembly.GetType("ReflectionTest.Person");
object inst = Activator.CreateInstance(personType, new object[] { 10 }); 

在您的示例中,您使用以下行调用默认构造函数:

object personObject = assembly.CreateInstance("ReflectionTest.Person");
这将是构建对象的正确方法:

Assembly assembly = Assembly.GetEntryAssembly();
Type personType = assembly.GetType("ReflectionTest.Person");
object inst = Activator.CreateInstance(personType, new object[] { 10 }); 

是的,这个答案确实奏效了!谢谢是的,这个答案确实奏效了!谢谢