可能重复:
Anonymous Types - Are there any distingushing characteristics?如何找出对象是否为匿名类型?
无法找到合适的物业。
if(new {a = 2, b= "z"}.GetType()...)
要放什么而不是...?
可能重复:
Anonymous Types - Are there any distingushing characteristics?如何找出对象是否为匿名类型?
无法找到合适的物业。
if(new {a = 2, b= "z"}.GetType()...)
要放什么而不是...?
您是否尝试过输出new { a = 2, b = "z" }.GetType()
以获得与之比较的值?如果没有,这是我首先要做的。
var t = new { a = 2, b = "z" }.GetType();
var c = 2; // set a breakpoint on this line, and see what t contains
匿名类将包含名称AnonymousType,它们不会有一个名称空间或声明类型。您可以使用它来查看它是否是匿名的。虽然我不知道它是如何安全...
var t = new { a = 2, b = "z" }.GetType();
bool isAnonymous = t.Namespace == null && t.DeclaringType == null;
除了开始<>
和含AnonymousType
(在C#中,如VB它VB$
开始)没有太多要测试的怪异的名字。我不会赌名称测试,但是...
欢迎来到SO,请不要忘记访问http://stackoverflow.com/faq – Reigel 2010-06-16 06:42:24
据我了解,没有开箱即用的解决方案,在这个问题和http://stackoverflow.com/questions/315146/anonymous-types-are-there-any-distingushing-characteristics中提供的所有答案听起来更像是可以停止与不同/新编译器版本一起工作的解决方法。如果(新{a = 2,b =“z”}。GetType()。IsAnonymousType) – 2010-06-16 10:27:59
接受ans if – 2010-09-17 07:54:33