Rus*_*rry 1 .net c# vb.net reflection
我对反射很新,我想知道,如果可能的话,如何创建类的实例然后向类中添加属性,设置这些属性,然后再读取它们.我没有任何代码,因为我甚至不知道如何开始这个.C#或VB很好.
谢谢
编辑:(详细说明)
我的系统有一个动态表单创建者.我的一位同事要求表格数据可通过网络服务访问.我的想法是创建一个类(基于动态表单)向类添加属性(基于表单字段)设置这些属性(基于这些字段的输入值)然后返回Web服务中的类.
此外,Web服务将能够在类中设置属性,并最终将这些更改提交到db.
如果您的意思是动态创建一个类,那么这两个选项是:
如果你的意思是创建现有类的实例,那么从Activator.CreateInstance开始创建对象的实例,然后查看Type上的方法,例如GetProperty,它将返回一个可以调用GetValue和SetValue的PropertyInfo.
更新:对于您描述的场景,从Web服务返回动态数据,然后我建议不要使用这种方法,因为您很难编写代码,并且很难使用静态类型的语言.相反,正如评论和其他答案中所建议的那样,某种字典可能是更好的选择.
(请注意,当我说返回某种字典时,我说的是比喻而不是字面意思,即返回一些概念上与字典相同的内容,例如键值对列表.我不建议直接返回一个(即使您正在使用支持此功能的WCF,因为通常更好地完全控制您返回的XML.)