miércoles, noviembre 14, 2007

Cómo obtener las clases (y sus métodos y propiedades) de un assembly de .net utilizando Reflection

// Obtener las clases que contiene determinado assembly

Assembly a = Assembly.LoadFile(/* Assembly (path completo)*/);

Type[] mytypes = a.GetTypes();

BindingFlags flags = ( BindingFlags.NonPublic
BindingFlags.Public BindingFlags.Static
BindingFlags.Instance BindingFlags.DeclaredOnly);

// Para cada clase, obtener sus campos

foreach (Type t in mytypes)

{

this.txtFields.Items.Add("Type: " + t.Name);

FieldInfo[] fi = t.GetFields(flags);

foreach (FieldInfo m in fi)

{

this.txtFields.Items.Add(m.Name + " (" + m.FieldType.FullName + ")");

}

}

No hay comentarios:

Publicar un comentario