5
Ich habe AppDomain.CurrentDomain.GetAssemblies()
verwendet, um alle Assemblys aufzulisten, aber wie listet ich alle integrierten Attribute in .NET 2.0 mit C# auf?Alle integrierten .Net-Attribute
Ich habe AppDomain.CurrentDomain.GetAssemblies()
verwendet, um alle Assemblys aufzulisten, aber wie listet ich alle integrierten Attribute in .NET 2.0 mit C# auf?Alle integrierten .Net-Attribute
Beachten Sie, dass AppDomain.GetAssemblies()
nur Liste der Baugruppen geladen ... aber es ist dann einfach:
var attributes = from assembly in assemblies
from type in assembly.GetTypes()
where typeof(Attribute).IsAssignableFrom(type)
select type;
.NET 2.0 (nicht-LINQ) Version:
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);
}
}
}
Ich würde geben +2 für die Erwähnung, dass es nur geladene Baugruppen auflistet, wenn ich könnte! – Will
2.0 Version hinzugefügt. @arco: Du fängst wirklich an, linq zu schätzen, wenn du zurück auf die alte Art gehen musst. –
@Michael: Danke, Spot auf. –