Possible en double:
Anonymous Types - Are there any distingushing characteristics?Comment savoir si l'objet est de type Anonymous?
Vous ne trouvez pas la propriété appropriée.
if(new {a = 2, b= "z"}.GetType()...)
quoi mettre au lieu de ...?
Possible en double:
Anonymous Types - Are there any distingushing characteristics?Comment savoir si l'objet est de type Anonymous?
Vous ne trouvez pas la propriété appropriée.
if(new {a = 2, b= "z"}.GetType()...)
quoi mettre au lieu de ...?
Avez-vous essayé de sortir new { a = 2, b = "z" }.GetType()
pour obtenir une comparaison? Sinon, c'est ce que je ferais en premier.
var t = new { a = 2, b = "z" }.GetType();
var c = 2; // set a breakpoint on this line, and see what t contains
La classe anonyme inclura le nom AnonymousType, ils n'auront pas d'espace de noms ou de type déclarant. Vous pourriez l'utiliser pour voir si c'est anonyme. Bien que je ne suis pas sûr de savoir comment il est sûr ...
var t = new { a = 2, b = "z" }.GetType();
bool isAnonymous = t.Namespace == null && t.DeclaringType == null;
A l'exception du nom bizarre commençant par <>
et contenant AnonymousType
(en C#, VB comme il commence par VB$
) il n'y a pas grand-chose à tester. Je ne parierais pas sur les tests de noms, cependant ...
Bienvenue à SO, s'il vous plaît ne pas oublier de visiter http://stackoverflow.com/faq – Reigel
Pour autant que je sache, il n'y a pas de solution prête à l'emploi , toutes les réponses fournies dans cette question et dans http://stackoverflow.com/questions/315146/anonymous-types-are-there-any-distingushing-characteristics ressemblent plus à des solutions de contournement qui pourraient cesser de fonctionner avec une version différente/nouvelle du compilateur. Il serait bon d'avoir quelque chose comme si (nouveau {a = 2, b = "z"}. GetType(). IsAnonymousType) –
accept ans si cela fonctionne –