c# dynamic动态类型和匿名类
2018-01-09 13:18
211 查看
dynamic类型
简单示例
动态添加字段
枚举该对象所有成员
简单示例
dynamic expando = new System.Dynamic.ExpandoObject(); //动态类型字段 可读可写 expando.Id = 1; expando.Name = "Test"; string json = Utils.ConvertJson.JsonEncode(expando); //输出{Id:1,Name:'Test'}
动态添加字段
List<string> fieldList = new List<string>() { "Name","Age","Sex"}; //From config or db dynamic dobj = new System.Dynamic.ExpandoObject(); var dic = (IDictionary<string, object>)dobj; foreach (var fieldItem in fieldList) { dic[fieldItem] = "set "+fieldItem+" value"; /*实现类似js里的 动态添加属性的功能 var obj={}; var field="Id"; eval("obj."+field+"=1"); alert(obj.Id); //1 */ } var val = dobj.Name; //“set Name value” var val1=dobj.Age;//”set Age value“
枚举该对象所有成员
foreach (var fieldItem in (IDictionary<String, Object>)dobj) { var v = (fieldItem.Key + ": " + fieldItem.Value); } 匿名类 //var aaaa = new {Id=1,Name="Test"}; //匿名类字段只读不可写 dynamic aaaa = new {Id=1,Name="Test"}; //匿名类字段只读不可写 aaaa.Id = 2; //不可写 报错无法为属性或索引器“<>f__AnonymousType1<int>.Id”赋值 - 它是只读的 dynamic obj = Newtonsoft.Json.JsonConvert.DeserializeObject("{Name:'aa',Sex:'Male',Age:11}"); var name = obj.Name.Value; //aa
相关文章推荐
- c# 把一个匿名对象赋值给一个Object类型的变量后,怎么取这个变量? c# dynamic动态类型和匿名类 详解C# 匿名对象(匿名类型)、var、动态类型 dynamic 深入浅析C#中的var和dynamic
- 潜移默化学会C#不常用语法-《1》-动态类型绑定dynamic
- Json.net实现方便的Json转C#(dynamic动态类型)对象
- var和dynamic的应用 var、动态类型 dynamic 深入浅析C#中的var和dynamic ----demo
- Json.net实现方便的Json转C#(dynamic动态类型)对象
- dynamic 动态类型 教你写不可思议的C#代码
- 详解C# 匿名对象(匿名类型)、var、动态类型 dynamic
- C# 匿名对象(匿名类型)、var、动态类型 dynamic
- C# 匿名对象(匿名类型)、var、动态类型 dynamic
- C#4.0 dynamic动态类型
- Json.net实现方便的Json转C#(dynamic动态类型)对象
- dynamic基础类型/C#与动态脚本语言交互/dynamic自定义类型
- C#基本语法 - .Net 4.0 之 Dynamic 动态类型
- Json.net实现方便的Json转C#(dynamic动态类型)对象
- C#4.0 新特性 动态类型Dynamic
- C# 匿名对象(匿名类型)、var、动态类型 dynamic
- Json.net实现方便的Json转C#(dynamic动态类型)对象
- C# 动态语言特性,dynamic 关键字研究
- 1.3.3 - [defns.dynamic.type] - 【定义.动态.类型】
- [C#基础知识系列]专题:深入理解动态类型