2015-04-07 7 views
0

я создать классПолучить имя класса с помощью атрибутов класса

public class MarkerAttribute : Attribute 
{ 

} 

и установить этот атрибут в MyTestClass

[Marker] 
public class MyTestsClass 
{ 

} 

Как я могу получить имена всех классов, которые имеют этот атрибут в мой проект?

спасибо.

+0

Вы имеете в виду во время выполнения, отражением, или вы имеете в виду поиск в IDE инструментов и т.д.? – Rup

ответ

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); 
       } 
      } 
     } 
    } 
} 
Смежные вопросы