Crear un objeto segun el tipo dado.

30/01/2006 - 16:45 por Catalin Lungu | Informe spam
Hola,
Tengo una función CreaObjeto que recibe como parámetros lo siguiente.

private object CreaObjeto(string tipoObjeto, Dictionary<string, string>
Propiedades)
{
objeto = new tipoObjeto();
if (objeto != null)
return objeto;
return null;
}

Que es lo hay que pasarle en tipoObjeto para crea un botón por ejemplo.

Gracias,
Catalin

Preguntas similare

Leer las respuestas

#1 Catalin Lungu
30/01/2006 - 18:16 | Informe spam
Si no he sido bastante claro añado:
tipoObjeto deberia ser la cadena "Button" o "System.Windows.Forms.Button".
Se trata de evaluar la cadena y convertirla en un tipo de dato.

Saludos,
Catalin
Respuesta Responder a este mensaje
#2 Alejandro Mezcua
31/01/2006 - 00:05 | Informe spam
Hola.

Tienes que usar reflection, para crear una instancia de un objeto a partir
del nombre de su clase. No tengo ahora mismo un ejemplo de código, pero
busca información sobre 'Reflection' en MSDN.

Un saludo,

Alejandro Mezcua
MVP .NET Compact Framework
http://www.byteabyte.net/

"Catalin Lungu" wrote in message
news:drlcc1$d6c$
Hola,
Tengo una función CreaObjeto que recibe como parámetros lo siguiente.

private object CreaObjeto(string tipoObjeto, Dictionary<string, string>
Propiedades)
{
objeto = new tipoObjeto();
if (objeto != null)
return objeto;
return null;
}

Que es lo hay que pasarle en tipoObjeto para crea un botón por ejemplo.

Gracias,
Catalin

Respuesta Responder a este mensaje
#3 Eduardo A. Morcillo [MS MVP VB]
31/01/2006 - 04:18 | Informe spam
Usa las clases Type y Activator:

private object CreaObjeto(string tipoObjeto,
System.Collections.Generic.Dictionary<string, string> Propiedades) {

Type t = Type.GetType(tipoObjeto);

object objeto = Activator.CreateInstance(t);

if (objeto != null)
return objeto;

return null;

}

Eduardo A. Morcillo [MS MVP VB]
http://www.mvps.org/emorcillo
http://mvp.support.microsoft.com/pr...4EF5A4191C
Respuesta Responder a este mensaje
#4 Catalin Lungu
31/01/2006 - 08:33 | Informe spam
Hola Eduardo,
No consigo que funcione esto.
Type t = Type.GetType("System.Windows.Forms.Button");
Despues de esta instrucción t = null y claro Activator.CreateInstance(null)
no tiene sentido. Que es lo que estoy haciendo mal?

Saludos,
Catalin


"Eduardo A. Morcillo [MS MVP VB]" <emorcillo .AT. mvps.org> escribió en el
mensaje news:
Usa las clases Type y Activator:

private object CreaObjeto(string tipoObjeto,
System.Collections.Generic.Dictionary<string, string> Propiedades) {

Type t = Type.GetType(tipoObjeto);

object objeto = Activator.CreateInstance(t);

if (objeto != null)
return objeto;

return null;

}

Eduardo A. Morcillo [MS MVP VB]
http://www.mvps.org/emorcillo
http://mvp.support.microsoft.com/pr...4EF5A4191C

Respuesta Responder a este mensaje
#5 Catalin Lungu
31/01/2006 - 09:16 | Informe spam
Sin embargo si el tipo de dato es "System.String" o "System.Int32" entonces
Type.GetType devuelve bien el tipo.
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida