C#:从XML实例化类

我所拥有的是一组类,它们都实现了相同的接口,但在幕后可能会有很大的不同。我想用一个配置文件控制启动程序时哪些类进入集合,如下所示:

<class1 prop1=“foo”prop2=“bar”/>

并将其转化为:

blah=newclass1();
blah.prop1=“foo”;
blah.prop2=“bar”;

以非常普通的方式。我不知道如何做的事情是在配置文件中获取字符串prop1,并将其转换为代码中的实际属性访问器。C#中是否有允许这样做的元编程工具

反射允许您这样做。您可能还想看看XML序列化

Type=blah.GetType();
PropertyInfo prop=type.GetProperty(“prop1”);
属性设置值(blah,“foo”,null);

发表评论