You can从方法返回匿名类型的实例 - 但因为您无法命名它,所以您无法准确声明该方法将返回什么,因此您必须声明它只返回object
。这意味着调用者将无法对属性等进行静态类型访问 - 尽管他们仍然可以传递实例,通过反射(或 C# 4 中的动态类型)访问它。
就我个人而言,我非常希望 C# 的未来版本允许您编写一个非常简短的类声明,它生成具有名称的相同代码(不可变属性、构造函数、Equals/GetHashcode/ToString)...
有one很糟糕的黑客绕过它,称为举例铸造 http://tomasp.net/articles/cannot-return-anonymous-type-from-method.aspx。但我不会推荐它。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)