Please see my comment to the question. It's not clear what are your trying to achieve. Call some method? Create an instance of a type?
The missing step is
System.Reflection.ConstructorInfo.Invoke
. Please see:
http://msdn.microsoft.com/en-us/library/system.reflection.constructorinfo.aspx[
^].
This way, you can create an instance of the type you need.
However, what you do usually does not make a whole lot of sense. How would you know which type to pick and what constructor to call?
I don't know your purpose; and your question is not clear, but usually Reflection is used to call some methods of a dynamically loaded assembly (and not DLL, an assembly), more usually the instance method of some classes or structures; this way the loaded assemblies play the role of plug-ins.
A good way to provide this kind of extensibility is using some plug-in interface known to the host application (defined in it or in some assembly shared between the host application and plug-ins); the plug-ins should provide classes/structures implementing this interface (or these interfaces). I explained it in further detail in my past answer:
C# Reflection InvokeMember on existing instance[
^].
For more advanced topic related to using of an assembly through Reflection, please see my past answers:
Create WPF Application that uses Reloadable Plugins...[
^],
AppDomain refuses to load an assembly[
^],
code generating using CodeDom[
^],
Create WPF Application that uses Reloadable Plugins...[
^],
Dynamically Load User Controls[
^].
If can also give you some idea on the application of related techniques.
By the way, you can also consider using Microsoft MEF:
http://en.wikipedia.org/wiki/Managed_Extensibility_Framework[
^],
http://mef.codeplex.com/[
^],
http://msdn.microsoft.com/en-us/library/dd460648.aspx[
^].
—SA