Comment distinguer les classes générées par le compilateur des classes d’utilisateurs dans .NET

J’ai un morceau de code dans mon programme qui distingue les classes générées par le compilateur en vérifiant si elles contiennent “DisplayClass” dans son nom de type.
en lisant cette réponse , je pense avoir besoin d’un meilleur moyen. Comment distinguer les classes générées par le compilateur des classes d’utilisateurs dans .NET?

Vérifiez les classes pour l’atsortingbut ComstackrGenerated afin de distinguer les classes générées par le compilateur des autres

http://msdn.microsoft.com/en-us/library/system.runtime.comstackrservices.comstackrgeneratedatsortingbute.aspx

Dans le réflecteur, ces classes d’ affichage peuvent être vues comme ceci:

 [ComstackrGenerated] private sealed class <>c__DisplayClass1 {..} 

Cette réponse m’a vraiment aidé! Voici le code que je devais append pour vérifier un Type pour ComstackrGeneratedAtsortingbute comme l’a mentionné Valentin Kuzub:

 using System.Runtime.ComstackrServices; //... bool IsComstackrGenerated(Type t) { var attr = Atsortingbute.GetCustomAtsortingbute(t, typeof(ComstackrGeneratedAtsortingbute)); return attr != null; }