5
Użyłem AppDomain.CurrentDomain.GetAssemblies()
do wyświetlenia wszystkich złożeń, ale jak wyświetlić listę wszystkich wbudowanych atrybutów w .NET 2.0 przy użyciu C#?Wszystkie wbudowane atrybuty .Net
Użyłem AppDomain.CurrentDomain.GetAssemblies()
do wyświetlenia wszystkich złożeń, ale jak wyświetlić listę wszystkich wbudowanych atrybutów w .NET 2.0 przy użyciu C#?Wszystkie wbudowane atrybuty .Net
Zauważ, że AppDomain.GetAssemblies()
pokaże tylko ładowane zespoły ... ale wtedy jest to proste:
var attributes = from assembly in assemblies
from type in assembly.GetTypes()
where typeof(Attribute).IsAssignableFrom(type)
select type;
.NET 2.0 (nie LINQ) wersja:
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);
}
}
}
Dałbym +2 za wzmiankę o tym, że wyświetla listę tylko załadowanych zespołów, gdybym mógł! – Will
dodano wersję 2.0. @ARco: naprawdę zaczynasz doceniać linq, kiedy musisz wrócić do starego sposobu. –
@Michael: Dzięki, na miejscu. –