Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > .NET
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

 
 
Herramientas Buscar en Tema Desplegado
  #5  
Antiguo 02-06-2006
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.114
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Aunque es un tema que daría para mucho, aquí te pongo un sencillísimo ejemplo basado en los que aparecen en el libro Visual C# de Francisco Charte:

Código:
/*
 * Basado en ejemplos del libro Visual C# de Francisco,
 * Charte, concretamente, los del capítulo titulado
 * Recuperación de información de tipos en tiempo de
 * ejecución.
 * 
 */

using System;
using System.Reflection;

namespace Consola.Pruebas
{
  class Program
  {
    static void Main(string[] args)
    {
      /* Obtenemos una referencia a este ensamblado, pero, nótese
         que podríamos obtener la referencia de cualquier otro
      */
      Assembly ensamblado = Assembly.GetExecutingAssembly();

      /* Obtenemos el tipo de la clase "Prueba", a traves de su
         nombre completo, que, como puede verse, incluye el ensam-
         blado en donde se encuentra dicha clase Pruebas.
      */
      Type ClasePrueba = ensamblado.GetType("Consola.Pruebas.Prueba");

      // Si efectivamente tenemos el tipo de la clase...
      if (ClasePrueba != null)
      {
        /* Creamos una instancia de la clase, pero, nótese que lo
           obtendremos será la instancia de un "objeto", pero no po-
           dremos trabajar con él como si fuera directamente instan-
           ciado "como suele ser habitual".
        */  
        Object ObjetoPrueba = Activator.CreateInstance(ClasePrueba);

        // Esta sería una forma de invocar a un método del objeto
        (ObjetoPrueba as Prueba).Saludos();

        // Esta sería otra, nótese que aquí "no conocemos" la clase Prueba
        MethodInfo MetodoSaludos = ClasePrueba.GetMethod("Saludos");
        MetodoSaludos.Invoke(ObjetoPrueba, null);
      }

      Console.ReadLine();
    }
  }
  
  // Clase para las pruebas anteriores
  class Prueba
  {
    public Prueba()
    {
      Console.WriteLine("Constructor de la clase Prueba");
    }

    public void Saludos()
    {
      Console.WriteLine("Método Saludos de la clase Prueba");
    }
  }

} // class Program
__________________
David Esperalta
www.decsoftutils.com

Última edición por dec fecha: 02-06-2006 a las 17:49:36.
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
crear un XML a partir de ClientDataSet jmlifi Internet 2 08-01-2006 23:18:28
Crear un fichero .tlb a partir de un .pas jfgazquez Varios 1 18-07-2005 16:44:50
Conocer PrinterIndex a partir del nombre Novás Varios 1 16-07-2004 18:26:14
Crear un pdf a partir de otros pdf barencibia Varios 0 13-06-2004 19:25:08
Crear un EXE a partir de un TXT o CPP aleidania Varios 1 25-10-2003 18:36:45


La franja horaria es GMT +2. Ahora son las 02:58:02.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi