c# 把一个匿名对象赋值给一个Object类型的变量后,怎么取这个变量?

zzyhost 2017-12-02 09:49:05
比如有一个匿名对象,var result =......Select( a=>new { id=a.id, name=a.name});
然后Object obj = result ;
我怎么从obj 中取出 id和name ?
...全文
1595 7 点赞 打赏 收藏 举报
写回复
7 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
雨落忧伤丶 2018-05-22
引用 3 楼 sp1234 的回复:
编程设计时代码会呈现有很多“层次”,比如说有人甚至说非要
var x = obj;
var y = eval("obj.id");
这种,他非要字符串才“爽”。 编程要尽可能地强类型、按照接口设计代码,一个程序中的反射代码不过也就是万分之一而已,千方百计避免滥用。那么从设计理念上就要保持一种“规范”。
C# 里 eval 这个地方报错了 ,C# 里面 好像没有 eval 这个方法吧!
  • 打赏
  • 举报
回复
正怒月神 2017-12-15
为何要访到object中? 放到dynamic也比object用起来好点
  • 打赏
  • 举报
回复
卧_槽 2017-12-15
gettype
  • 打赏
  • 举报
回复
动态语言语法有它的好处,由她的方便性,这个是不可否认的。至于说什么时候该使用动态的特性,让运行时——而非编译时——才出现bug、系统崩溃提示(不怕在用户面前丢脸),那就要靠经验来判断。所以不要轻易滥用动态特性。
  • 打赏
  • 举报
回复
编程设计时代码会呈现有很多“层次”,比如说有人甚至说非要
var x = obj;
var y = eval("obj.id");
这种,他非要字符串才“爽”。 编程要尽可能地强类型、按照接口设计代码,一个程序中的反射代码不过也就是万分之一而已,千方百计避免滥用。那么从设计理念上就要保持一种“规范”。
  • 打赏
  • 举报
回复
如果要重复使用数据模式,那么最可行的做法是重构代码,立刻增加一个模式定义,例如
public class AA
{
    public string id;
    public string name;
}
  • 打赏
  • 举报
回复
圣殿骑士18 2017-12-02
把obj转换成dynamic类型 dynamic a = obj; var bb = a.id; var cc = a.name;
  • 打赏
  • 举报
回复
相关推荐
发帖
非技术区
加入

7714

社区成员

.NET技术 非技术区
申请成为版主
帖子事件
创建了帖子
2017-12-02 09:49
社区公告
暂无公告