Du kannst sowas machen:
Code:
var results = from type in someAssembly.GetTypes()
where typeof(IFoo).IsAssignableFrom(type)
select type;
Du hast in results dann eine Liste aller Typen, die Dein Flagging interface haben.
Der Aufruf sieht dann in etwa so aus:
Code:
var t := results.First();
foreach (MethodInfo mi in t.GetMethods(BindingFlags.Static |
BindingFlags.Public))
{
Console.WriteLine("method {0}", mi.Name);
mi.Invoke(null, null); // parameter entsprechend setzen.
}