5
J'ai utilisé AppDomain.CurrentDomain.GetAssemblies()
pour lister tous les assemblages, mais comment puis-je lister tous les attributs intégrés dans .NET 2.0 en utilisant C#?Tous les attributs .Net intégrés
J'ai utilisé AppDomain.CurrentDomain.GetAssemblies()
pour lister tous les assemblages, mais comment puis-je lister tous les attributs intégrés dans .NET 2.0 en utilisant C#?Tous les attributs .Net intégrés
Notez que AppDomain.GetAssemblies()
ne répertorie que chargé ensembles ... mais il est facile:
var attributes = from assembly in assemblies
from type in assembly.GetTypes()
where typeof(Attribute).IsAssignableFrom(type)
select type;
2,0 .NET Version (non LINQ):
List<Type> attributes = new List<Type>();
foreach (Assembly assembly in AppDomain.CurrentDomain.GetAssemblies())
{
foreach (Type type in assembly.GetTypes())
{
if (typeof(Attribute).IsAssignableFrom(type))
{
attributes.Add(type);
}
}
}
Je donnerais +2 pour mentionner qu'il ne liste que des assemblages chargés si je le pouvais! – Will
a ajouté la version 2.0. @arco: vous commencez vraiment à apprécier linq quand vous devez retourner à l'ancienne. –
@Michael: Merci, sur place. –