当前位置: 移动技术网 > IT编程>开发语言>.net > c# dynamic动态类型和匿名类

c# dynamic动态类型和匿名类

2019年10月12日  | 移动技术网IT编程  | 我要评论

小茉莉陈瑀希,黑镜第四季 下载,火线金融论坛

为表示对原作者的尊重,先贴出原文链接:

以下是正文:

 

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里的 动态添加属性的功能

                                                                        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

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网