我创建了课程
public class MarkerAttribute : Attribute
{
}
并在MyTestClass中设置此属性
[Marker]
public class MyTestsClass
{
}
如何在项目中收到具有此属性的所有类的名称?
谢谢。
答案 0 :(得分:0)
您可以使用反射来获取具有该属性的类型:
using System;
using System.Reflection;
public class MarkerAttribute : Attribute {
}
[Marker]
class Program {
static void Main(string[] args) {
foreach (Type type in Assembly.GetExecutingAssembly().GetTypes()) {
foreach (Attribute attribute in type.GetCustomAttributes()) {
MarkerAttribute markerAttribute = attribute as MarkerAttribute;
if (markerAttribute != null) {
Console.WriteLine(type.FullName);
}
}
}
}
}