PDA

Ver la Versión Completa : Metaclases en C#


droguerman
25-11-2006, 17:16:32
en Delphi yo podia hacer esto, de hecho siempre lo hacia:

TClassForma = class of Form;

Arr_Forma : array[1..10] of TClassForma;



como puedo hacer lo mismo en C# ???

nightynvid
07-12-2006, 17:42:08
creo que lo que quieres hacer seria un arreglo de objetos pero en .net ya no existen mas bien tendrias que "simular" el arreglo por medio de algun otra estructura de datos,aunque tienes un ensamblado que seria Microsoft.VisualBasic.Compatibility.vb6 que te permite crear arreglos de varios controles
saludos :D

edgusano
07-12-2006, 17:58:35
Pues si que lo tiene C#, busca info de los arraylist, igual puedes definir un array de los objetos que quieres tener en el, pero si los objetos son de diferente tipo, ahi tienes el arraylist al rescate.

nightynvid
07-12-2006, 19:23:29
tienes mucha razon edgusano, vaya no se me habia ocurrido de esa manera, (perdon por ponerlo en vb a pesar de que la pregunta es en c# pero solo tengo instalado vb express, ademas la equivalencia no seria muy distinta


Dim lista As New ArrayList()
Dim boton As Button

lista.Add(New Button)
lista.Add(New Button)
lista.Add(New Button)
lista.Add(New Button)


boton = CType(lista(0), Button)
boton.Text = "0"
boton = CType(lista(1), Button)
boton.Text = "1"

MessageBox.Show(CType(lista(0), Button).Text)
MessageBox.Show(CType(lista(1), Button).Text)

__hector
08-12-2006, 22:58:51
Igual puedes declarar una variable de tipo de tu clase, como un arreglo, justo como lo hacias en delphi.

ClassName variable[];