fork download
  1. using System;
  2. using System.Reflection;
  3.  
  4. namespace Recetas.Cap03
  5. {
  6. internal class ClaseEjemplo
  7. {
  8. public int CampoEjemplo;
  9.  
  10. public void MetodoEjemplo() {}
  11.  
  12. public static void Main()
  13. {
  14. // Obtiene el tipo el operador typeof, y crea
  15. // una instancia de System.Type:
  16. Type tipo = typeof(ClaseEjemplo);
  17.  
  18. // Obtenemos un arreglo de elementos `MethodInfo`
  19. // (clase System.Reflection):
  20. MethodInfo[] metodosClaseEjemplo = tipo.GetMethods();
  21.  
  22. // Enlistamos los métodos de `ClaseEjemplo`:
  23. Console.WriteLine("\nMétodos de la clase `ClaseEjemplo`:");
  24. foreach (MethodInfo metodo in metodosClaseEjemplo)
  25. {
  26. Console.WriteLine("\t{0}", metodo.ToString());
  27. }
  28.  
  29. // Obtenemos un arreglo con elementos MemeberInfo
  30. // (System.Reflection) de los campos de `ClaseEjemplo`:
  31. MemberInfo[] miembrosClaseEjemplo = tipo.GetMembers();
  32.  
  33. // Enlistamos los miembros de la clase `ClaseEjemplo`:
  34. Console.WriteLine("\nMiembros de la clase `ClaseEjemplo`:");
  35. foreach (MemberInfo miembro in miembrosClaseEjemplo)
  36. {
  37. Console.WriteLine("\t{0}", miembro.ToString());
  38. }
  39.  
  40. Console.WriteLine();
  41. }
  42. }
  43. }
Success #stdin #stdout 0.04s 33864KB
stdin
Standard input is empty
stdout
Métodos de la clase `ClaseEjemplo`:
	Void MetodoEjemplo()
	Void Main()
	Boolean Equals(System.Object)
	Int32 GetHashCode()
	System.Type GetType()
	System.String ToString()

Miembros de la clase `ClaseEjemplo`:
	Void MetodoEjemplo()
	Void Main()
	Boolean Equals(System.Object)
	Int32 GetHashCode()
	System.Type GetType()
	System.String ToString()
	Void .ctor()
	System.Int32 CampoEjemplo