Вы хотите получить Пользовательские атрибуты метод
Assembly ass = Assembly.Load("yourassembly.dll");
object[] attributes = ass.GetCustomAttributes(typeof(IgnoreAttribute), false));
Этот метод также существует в объекте метода, поэтому вы можете перебирать все типы в вашей сборке, перебирать все их методы и вызывать один и тот же метод.
foreach(Type type in ass.GetTypes()) {
foreach(MethodInfo method in type.GetMethods()) {
method.GetCustomAttributes(typeof(IgnoreAttribute), true));
}
}
Edit, Вот некоторая помощь с синтаксисом PowerShell, хотя я должен сказать, что я НЕ беглый PowerShell. Я уверен, что кто-то может сделать это лучше, чем дерьмо, которое у меня есть ниже.
$types = [System.Reflection.Assembly]::LoadFile("C:\dll.dll").GetTypes()
$attribute = [System.Type]::GetType("IgnoreAttribute")
foreach ($type in $types) {
$methods = $type.GetMethods()
foreach ($method in $methods) {
if ($method .GetCustomAttributes($attribute).Length -gt 0) {
$method.Name
}
}