2008-09-10 16 views

Respuesta

1

Puede crear una instancia de una clase de un objeto de tipo utilizando Activator.CreateInstance, para obtener todo tipo en un archivo DLL que se pueden utilizar Assembly.GetTypes

2

System.Reflection.Assembly es la clase que deseará utilizar. Contiene muchos métodos para iterar sobre los tipos que contiene una DLL de usuario. Se puede recorrer cada clase, tal vez ver si se hereda de una interfaz en particular, etc.

http://msdn.microsoft.com/en-us/library/system.reflection.assembly_members.aspx

Investigar Assembly.GetTypes() método para obtener la lista de tipos, o Assembly.GetExportedTypes() sólo las públicas.

1

Como ya se ha dicho, debe abrir el espacio de nombres System.Reflection.

Si sabe de antemano la ubicación/nombre de la DLL que desea cargar, debe recorrer el Assembly.GetTypes().

En Pseudocódigo se vería algo como esto:

Crear objeto y montaje.

Itere a través de todos los tipos que figuran en el conjunto.

Una vez que encuentre el que usted está buscando, invocarlo (CreateInstance) ...

utilizar con prudencia.

;)

Tengo un montón de código de reflexión si quieres echar un vistazo alrededor, pero la tarea es muy simple y hay al menos una docena de artículos con las muestras que hay en la naturaleza. (Aka Google). A pesar de eso, MSDN es su amigo para Reflection Reference.

Cuestiones relacionadas