我正在努力实现以下目标:
我有3个名为class
,test
和unknown
的自定义类,如下所示:
public class class
{
public string name { get; set; }
public Guid ID { get; set; }
public int interval { get; set; }
}
public class test
{
public string name { get; set; }
public Guid ID { get; set; }
public int interval { get; set; }
}
public class unknown
{
public string name { get; set; }
public Guid ID { get; set; }
public int interval { get; set; }
}
现在在我的程序中,我读取了一个XML文件,其中包含具有创建实例的类名称的行。
<Messages>
<Message Name='ClassMessage' Type='class' />
<Message Name='TestMessage' Type='test' />
<Message Name='UnknownMessage' Type='unknown' />
</Messages>
我将循环遍历XML中的每一行,并根据XML中的给定类型,我必须创建该类的实例。我知道你可以用Activator.CreateInstance()
实现这一点,唯一的问题是,我将无法访问它的属性(名称,ID,间隔)。
在上面的示例中,它只涉及3个类,尽管我正在处理与Microsoft Dynamics CRM 4.0的Web服务进行对话并且有更多类应该可以选择的内容。
答案 0 :(得分:0)
object foo = Activator.CreateInstance("test");
(foo as test).name = "TestMessage";
更新:这是你真正想要做的。 Set object property using reflection