日期:2014-05-17  浏览次数:20764 次

如何根据XML(或其他存储方式)动态生成一个对象(求大神)
比如我有一个xml文件
<?xml version="1.0" encoding="utf-8" ?>
<Root>
<AuthorInfo>
<property name='AuthorID' type='varchar' length='20'></property>
<property name='AuthorName' type='varchar' length='20'></property>
</AuthorInfo>
</Root>
则相应的生成AuthorInfo的对象,对象属性为如下:
string AuthorID;
string AuthorName;

注意程序集没有AuthorInfo类,这个是需要完全动态生成的。
如何实现,,,求CODE,,

------解决方案--------------------
C#是强类型语言,不可能在运行时创建类
------解决方案--------------------
 dynamic a = new System.Dynamic.ExpandoObject();
 a.AuthorID ="";
 a.AuthorName="";
这个可行?
------解决方案--------------------
自己解析XML文档就行了啊
------解决方案--------------------
http://stackoverflow.com/questions/13704752/deserialize-xml-to-object-using-dynamic
------解决方案--------------------
匿名类可以在方法内有效,出了方法就无效了

var entity = new {AuthorID="Read From XML",AuthorName="Read From XML"};

------解决方案--------------------
整啥类啊,搞个Dictionary对象就行了呗。

其他可以动态创建类的语言,那些类本质上来说都是一个Dictionary而已。