tags:

views:

129

answers:

2

I'm building a project. It's a application that users can add their extensions (dll).

To manage this extension, I need to get its list classes, functions...

Is there a code for doing it?

Please, help me. Thank you!

Note: Using C#

+8  A: 

For a particular assembly, you can use Assembly.GetTypes to get the types, then for each type call Type.GetMethods(), Type.GetProperties() etc, or just Type.GetMembers().

However, for plugin functionality it's usually a good idea to have a common interface which the plugins have to implement - that reduces the amount of reflection you need to use. Use Type.IsAssignableFrom() to check whether a type is compatible with a particular interface.

You might also want to look at the Managed Extensibility Framework which can make implementing an extension system easier.

Jon Skeet
+1 on Looking at MEF
Brian ONeil
A: 

If you're talking about building an extensible application in C# that loads other assemblies and uses their contents for extending the application, then see this question.

plinth