Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   .NET (https://www.clubdelphi.com/foros/forumdisplay.php?f=17)
-   -   Crear formularios a partir de su nombre de clase (https://www.clubdelphi.com/foros/showthread.php?t=53409)

kes 20-02-2008 14:26:02

Crear formularios a partir de su nombre de clase
 
Hola a todos.

¿Sabe alguien si es posible crear y mostrar formularios a partir de su nombre de clase?

En Delphi era posible registrando la clase del formulario con RegisterClass y luego localizándolo con FindClass, pero no sé como hacerlo en C#.

Saludos y gracias.

nightynvid 20-02-2008 16:46:56

suponiendo que la clase que quieres crear se llama MiFormulario

Código:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace WindowsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            MiFormulario frmNuevo = new MiFormulario();
            frmNuevo.Showdialog();

        }
    }
}


kes 20-02-2008 18:10:54

Gracias por responder, pero esa es la forma habitual de crear formularios.

Me referia a crear formularios a partir del nombre de clase, pero con dicho nombre de clase guardado en una cadena. Es decir, si partiendo del nombre de una clase (en formato string) podemos llegar a crear un formulario del tipo especificado.

Saludos y gracias.

nightynvid 20-02-2008 18:24:31

ah ok, creo que ya te entendi, a ver checa este link tal vez puede servirte

C# y como crear instancias de clases desde un tipo String utilizando .NET FrameWork.

Al González 20-02-2008 19:16:23

Perdón que me meta en terrenos que ahora conozco poco (como .NET), pero por el ejemplo dado pareciera que entonces es mucho más laborioso hacerlo en C# que en Delphi Win32. ¿No se supone que este tipo de vicisitudes ya están superadas en .NET? :confused:

Un cordial saludo.

Al González.

nightynvid 20-02-2008 23:26:16

Cita:

Empezado por Al González (Mensaje 267331)
Perdón que me meta en terrenos que ahora conozco poco (como .NET), pero por el ejemplo dado pareciera que entonces es mucho más laborioso hacerlo en C# que en Delphi Win32. ¿No se supone que este tipo de vicisitudes ya están superadas en .NET? :confused:

Un cordial saludo.

Al González.

bueno, en el caso del ejemplo lo que utilizan es el api de reflexion de .net, la cual permite obtener informacion de un ensamblado, en este caso de la propia aplicacion.

con la api de reflexion se pueden obtener datos como que clases conforman un ensamblado, que metodos tienen esas clases, que parametros reciben, que datos devuelven y poder llamarlos o instanciarlos cargando el ensamblado correspondiente.

la vdd desconozco si realmente existe una funcion como en delphi que te permita cargar de manera simple una clase a partir de un string, sera cosa de investigar mas a fondo

aqui un pequeño resumen de la api de reflexion en ingles
y aca la referencia en español

kes 21-02-2008 08:06:07

Gracias por la ayuda.

Conocía la existencia de la clase Reflection, pero no sabia como podía serme útil en este caso. Voy a probarlo con los ejemplos que me has enviado.


La franja horaria es GMT +2. Ahora son las 05:21:43.

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