Siehe Stack Overflow Frage Eine Liste von Funktionen für eine DLL abrufen .
Aus dem obigen Text entnommen (danke Jon Skeet):
Für eine bestimmte Assembly können Sie Assembly.GetTypes verwenden, um die Typen zu erhalten, und dann für jeden Typ Type.GetMethods(), Type.GetProperties() usw. oder einfach Type.GetMembers() aufrufen.
Für die Plugin-Funktionalität ist es jedoch in der Regel eine gute Idee, eine gemeinsame Schnittstelle zu haben, die die Plugins implementieren müssen - das reduziert die Menge der Reflexion, die Sie verwenden müssen. Verwenden Sie Type.IsAssignableFrom(), um zu prüfen, ob ein Typ mit einer bestimmten Schnittstelle kompatibel ist.
Sie sollten sich auch das Managed Extensibility Framework ansehen, das die Implementierung eines Erweiterungssystems erleichtern kann.