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 ?
...全文
1891 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
雨落忧伤丶 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;

7,765

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧