请资深高级程序员进来说话,一个绝对有难度的问题(关于匿名对象)!!!!!
时间:2011-12-14
来源:互联网
我要实现这样一个功能,请问大牛们这该如何实现??
条件:
string a="id";
string b="name";
要得到的匿名对象:
var v1=new {id=1,name="张三"};
---------------------------
即要把一个字符串的值放到匿名对象的属性中,从而构造一个这样的匿名对象。请问该如何实现,比如用反射、DynamicMethod等是否能够实现??非常感谢!!!!!
条件:
string a="id";
string b="name";
要得到的匿名对象:
var v1=new {id=1,name="张三"};
---------------------------
即要把一个字符串的值放到匿名对象的属性中,从而构造一个这样的匿名对象。请问该如何实现,比如用反射、DynamicMethod等是否能够实现??非常感谢!!!!!
作者: zhuawang 发布时间: 2011-12-14
匿名对象的本质是C#编译器玩的魔术,实际上,从IL角度看,匿名对象是有名字的。
你可以做一个试验:
C# code
你的这个需求有2个解决的办法,一个是使用动态 ExpandoObject,另一个是元编程,目前C#还不支持,但是可以用动态编译来解决。
你可以做一个试验:
C# code
var anonymousobj = new { id = 1, name = "张三" }; Console.WriteLine(anonymousobj.GetType());
你的这个需求有2个解决的办法,一个是使用动态 ExpandoObject,另一个是元编程,目前C#还不支持,但是可以用动态编译来解决。
作者: caozhy 发布时间: 2011-12-14
你可以参考
http://msdn.microsoft.com/en-us/library/system.dynamic.expandoobject.aspx
以及
http://msdn.microsoft.com/en-us/library/dd630214.aspx 这个连接说明了你如何添加属性,实际上它内部是一个字典,字典的key是属性名。
http://msdn.microsoft.com/en-us/library/system.dynamic.expandoobject.aspx
以及
http://msdn.microsoft.com/en-us/library/dd630214.aspx 这个连接说明了你如何添加属性,实际上它内部是一个字典,字典的key是属性名。
作者: caozhy 发布时间: 2011-12-14
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28