Hallo lex,
also ich würde das mit ineindander geschachtelten Foreach Schleifen lösen:
// Assembly zuweisen
Assembly myAssi = Assembly.LoadFrom("myassembly.dll");
// Alle klassen aus dieser assembly filtern
foreach (Type currTypeInAssi in myAssi.GetTypes())
{
// ist das eine Klasse?
if (currTypeInAssi.IsClass)
{
// hat sie das Attribut?
object[] oTestAttributes = currTypeInAssi.GetCustomAttributes(typeof(myOwnClassAttribute), true);
if (oTestAttributes.Length > 0)
{
foreach (MethodInfo currMethodInClass in currTypeInAssi.GetMethods())
{
// hat sie das Attribut?
object[] oTestAttributes = currMethodInClass.GetCustomAttributes(typeof(myOwnMethodAttribute), true);
if (oTestAttributes.Length > 0)
{
// tue was auch immer Du möchtest nun
}
}
}
}
}
Dieser Code ist hier im Editor entstanden, und ohne Gewähr. Außerdem lässt er sich sicherlich noch besser strukturieren. Aber so siehst du die Vorgehensweise hierzu.
Hoffe das hilft Dir weiter?
Gruß
Norman-Timo