深入学习ing

c# dynamic动态类型和匿名类

dynamic类型

方法一:简单示例

dynamic expando = new System.Dynamic.ExpandoObject(); //动态类型字段 可读可写
expando.Id = 1;
expando.Name = "Test";
string json = Utils.ConvertJson.JsonEncode(expando);  //输出{Id:1,Name:'Test'}

 方法二动态添加字段

dynamic dobj = new System.Dynamic.ExpandoObject();

var dic = (IDictionary<string, object>)dobj;
foreach (var fieldItem in fieldList)
{
  dic[fieldItem] = "set "+fieldItem+" value";  /*实现类似js里的 动态添加属性的功能
}

 方法三:枚举该对象所有成员,生成字符串,反序列化成动态对象

dynamic obj = Newtonsoft.Json.JsonConvert.DeserializeObject("{Name:'aa',Sex:'Male',Age:11}");
var name = obj.Name.Value; //aa

posted on 2019-10-11 17:01  深入学习ing  阅读(727)  评论(0编辑  收藏  举报

导航