How to define a class whose properties change in runtime?
本问题已经有最佳答案,请猛点这里访问。
我有一个叫做属性的类
1 2 3 4 5 6 7 8 | public class Attributes { public string Length { get; set; } public string Size { get; set; } public string Color { get; set; } public string Material { get; set; } public string Diameter { get; set; } } |
这个类是通过调用返回JSON的Web服务来填充的。Web服务每次都返回一组不同的属性,并且不可能在编译时定义所有属性,因为这可能会有数千个属性。
在C中模拟这样一个类的最佳方法是什么?
你可以用一个
您可以直接"创建"属性:
1 2 |
或查询基础字典:
1 2 | dynamic employee = new ExpandoObject(); ((IDictionary<string, object>)employee).Add("Name","John Smith"); |
号
无论您使用什么,使用
此外,这还完美地使用了JSON。
我建议使用DataContractJSonserializer执行JSON数据的反序列化。使用dataContractJSonserializer.useSimpleDictionaryFormat设置为true,使结果为
很容易使用。