Thanks @OriginalGriff for your sugguestion.
Im done my code and its work well:
Assembly myAssembly = Assembly.GetExecutingAssembly();
Type[] types = myAssembly.GetTypes();
foreach (Type typeA in types)
{
foreach (object attribute in typeA.GetCustomAttributes(true))
{
AIName da = attribute as AIName;
if (da != null)
{
Add<AggressiveNpcAI2>(da.GetAIName());
Console.WriteLine("AI Name: {0}", da.GetAIName());
}
}
}