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
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; }