tengo problemas con type.gettype

11/05/2006 - 05:12 por Alejandro Dobarganes | Informe spam
yo tengo una clase con un namespace
using myproyecto.componentes;
namespace myproyecto.datos
{
class micalse
}
luego en otro namespace
namespace myproyecto.componentes
{
class miclase 2
}
que ocurre que yo en clase 2 no puedo hacer uso del namespace
myproyecto.componentes pq me haria una referencia ciclica y da error
luego vi un ejemplo que usando system.reflection se podia solucionar pero
estoy tratando de hacerlo y no sale

string typeName = "myprojecto.datos.micalse2, myprojecto.datos.miclase2";

Type type = Type.GetType( typeName ); cuando el llega aqui da error como
resultado (type) queda como <indefinido>

Respondame rapido por favor

Preguntas similare

Leer las respuestas

#1 Luis Miguel Blanco
11/05/2006 - 12:02 | Informe spam
Hola Alejandro

Si necesitas en tiempo de ejecución, a traves de reflection, obtener
información de un tipo perteneciente a tu ensamblado, puedes utilizar el
método Assembly.GetExecutingAssembly(), y a través de esta instancia del
ensamblado en ejecución, tener acceso al tipo que te interese, por ejemplo,
para crear una instancia a través de la información de su constructor, como
te muestro en el siguiente ejemplo:

//
namespace WindowsApplication18.componentes
{
public class Class2
{
public int CampoDatos;

public Class2()
{
}
}
}
//************
using System.Reflection;
//
namespace WindowsApplication18
{
public class Form1 : System.Windows.Forms.Form
{
private void button1_Click(object sender, System.EventArgs e)
{
string sNombreClase;
Assembly oEnsamblado;
Type[] aTiposEnsamblado;

sNombreClase = "Class2";
oEnsamblado = Assembly.GetExecutingAssembly();
aTiposEnsamblado = oEnsamblado.GetTypes();

foreach (Type oTipo in aTiposEnsamblado)
{
if (oTipo.Name == sNombreClase)
{
ConstructorInfo oConstInfo;
oConstInfo = oTipo.GetConstructor(System.Type.EmptyTypes);
componentes.Class2 objClass2;
objClass2 = (componentes.Class2)oConstInfo.Invoke(null);
objClass2.CampoDatos = 123;
}
}
}

}
}
//

Espero que esto se aproxime a lo que necesitas.
Un saludo
Luis Miguel Blanco
http://www.dotnetmania.com


"Alejandro Dobarganes" wrote:

yo tengo una clase con un namespace
using myproyecto.componentes;
namespace myproyecto.datos
{
class micalse
}
luego en otro namespace
namespace myproyecto.componentes
{
class miclase 2
}
que ocurre que yo en clase 2 no puedo hacer uso del namespace
myproyecto.componentes pq me haria una referencia ciclica y da error
luego vi un ejemplo que usando system.reflection se podia solucionar pero
estoy tratando de hacerlo y no sale

string typeName = "myprojecto.datos.micalse2, myprojecto.datos.miclase2";

Type type = Type.GetType( typeName ); cuando el llega aqui da error como
resultado (type) queda como <indefinido>

Respondame rapido por favor



Respuesta Responder a este mensaje
#2 Alejandro Dobarganes
11/05/2006 - 22:53 | Informe spam
muchas gracias me resolvio el problema es que no estaba añadiendo la dll en
la carpeta bin de quien necesitaba usarla
Respuesta Responder a este mensaje
#3 Luis Miguel Blanco
12/05/2006 - 07:25 | Informe spam
Hola Alejandro

No hay de qué, celebro que se arreglara el problema 8-)
Un saludo
Luis Miguel Blanco
http://www.dotnetmania.com


"Alejandro Dobarganes" wrote:

muchas gracias me resolvio el problema es que no estaba añadiendo la dll en
la carpeta bin de quien necesitaba usarla



email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida