c# - 访问包含在匿名类型或对象类中的字段

标签 c# c#-4.0

我有一个返回如下的方法,

return new { a, b, c, d};

方法定义是public object GetValues(); 调用此方法后如何访问变量a、b、c、d?

最佳答案

两种选择:

  • 使用动态类型,只要您在同一个程序集中使用它:

    dynamic values = GetValues();
    var a = values.a; //etc
    
  • 直接使用反射;生成的类型将具有名为 abcd

    的公共(public)只读属性

或者,如果您可能可以将方法更改为不使用匿名类型,那么就这样做。 (您可能无法根据上下文更改方法的签名,但即使这样您仍然可以在调用代码中进行转换。)

关于c# - 访问包含在匿名类型或对象类中的字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34310169/

相关文章:

c# - 使用 TaskScheduler.FromCurrentSynchronizationContext 更新任务中的 UI

c# - Unity 中的 Firebase 消息传递

c# - 下载并实例化 COM 控件

.net - Entity Framework 代码优先 : How to manually update the database?

c# - 对 lambda 表达式和委托(delegate)感到困惑?

c#-4.0 - 在实现 IEnumerable<T> 时,观察到指针错误方向

c# - 从 ThreadStaticAttribute 派生子类的原因是什么?

c# - 从通用静态方法解析通用接口(interface) - 使用容器最简单吗?

c# - VS2017 不显示建议并且无法导航到插入符号下的符号

.net - 如何从 Web 服务 JSON 数组或对象反序列化?