我有一个返回如下的方法,
return new { a, b, c, d};
方法定义是public object GetValues();
调用此方法后如何访问变量a、b、c、d?
最佳答案
两种选择:
使用动态类型,只要您在同一个程序集中使用它:
dynamic values = GetValues(); var a = values.a; //etc
直接使用反射;生成的类型将具有名为
的公共(public)只读属性a
、b
、c
和d
或者,如果您可能可以将方法更改为不使用匿名类型,那么就这样做。 (您可能无法根据上下文更改方法的签名,但即使这样您仍然可以在调用代码中进行转换。)
关于c# - 访问包含在匿名类型或对象类中的字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34310169/