Data hosted with ♥ by Pastebin.com - Download Raw - See Original
  1. using System;
  2. using System.Reflection;
  3.  
  4. namespace Recetas.Cap03
  5. {
  6.     public class ClaseDemo
  7.     {
  8.         public int entero = 0;
  9.         public string cadena = null;
  10.        
  11.         public ClaseDemo() { }
  12.        
  13.         public void Metodo () { }
  14.     }
  15.    
  16.     public sealed class UsoGetMembers
  17.     {
  18.         public static void Main()
  19.         {
  20.             try
  21.             {
  22.                 // Instanciación de `ClaseDemo`:
  23.                 ClaseDemo cd = new ClaseDemo();
  24.                
  25.                 // Arreglo para la contentención de la descripción
  26.                 // de los atributos de los miembros de la clase `ClaseDemo`:
  27.                 MemberInfo[] miembros;
  28.                
  29.                 // Obtención de la representación `Type` de la
  30.                 // clase `ClaseDemo`:
  31.                 Type tipo = cd.GetType();
  32.                
  33.                 // Obtiene un arreglo con todos los miembros public de `ClaseDemo`:
  34.                 miembros = tipo.GetMembers();
  35.                
  36.                 // Resultado:
  37.                 Console.WriteLine ("\nLos miembros de la clase `{0}` son:\n", tipo);
  38.                 for (int i = 0; i < miembros.Length; ++i)
  39.                 {
  40.                     // Detalle el nombre del miembro y el su tipo:
  41.                     Console.WriteLine ("\t`{0}` es un `{1}`", miembros[i].Name.ToString(), miembros[i].MemberType.ToString());
  42.                 }
  43.             }
  44.             catch(Exception e)
  45.             {
  46.                 Console.WriteLine ("Excepción: {0}", e.Message);
  47.             }
  48.            
  49.             Console.WriteLine ();
  50.         }
  51.     }
  52. }