none
Resolver Nombre(String) tipo Generico a su forma original RRS feed

  • Pregunta

  • Hola atodos, necesito convertir el nombre de un tipo generico a su forma original, si ven el ejemplo entenderan

    public class ArrayLista<T>

    {

    private T[] itemArray;

    public void Add(T newItem)

    {

    }

    }

     

     public class MyClass

    {

    private ArrayLista<string> ejem = new ArrayLista<string>();

    Console.WriteLine(ejem.GetType().FullName);//xxxx.ArrayLista`1[[System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]

    }

     

    En resumen necesito convertir xxxx.ArrayLista`1[[System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]] a ArrayLista<string> debe haber un metodo o algo que lo vuelva el tipo a su forma original pero como string ocea string xxx = ArrayLista<string>;, pero no lo encuentro.

    martes, 23 de diciembre de 2008 0:25

Todas las respuestas

  • la verdad poco o nada se entiende lo que pretendes.

     

    martes, 23 de diciembre de 2008 3:43
  • A ver, tengo un string que representa un tipo generico de la forma, espacionombre.ArrayLista`1[[System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]], que equivale al tipo generico espacionombre.ArrayLista<System.String>, pues bien necesito pasar de la forma espacionombre.ArrayLista`1[[System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]  a espacionombre.ArrayLista<System.String>, este ultimo tambien como string.

    El codigo lo puse para que vean lo facil que fue pasarlo de
    ArrayLista<System.String> a laotra forma, ya que talvez hay un metodo o algo que permita pasar de espacionombre.ArrayLista`1[[System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]],  a ArrayLista<System.String> de manera sencilla y este ultimo  convertirlo en string.


    martes, 23 de diciembre de 2008 4:59
  • en tu clase MyClass

    Type tipo = objetoArrayLista.propiedad.GetType();


    Profesionista Microsoft VIP México World Wide Finalist Imagine Cup 2007 C#, WPF, WCF
    martes, 21 de abril de 2009 5:28
  • Hola A todos

    Juan carlos Creeo que lo que necesita o pretende hacer es una lista generica

    y a mi parecer esto quedaria asi:


    public class miLista <T> : ICollection , Ienumerable
    {
    private Arraylist _Lista = new Arraylist();
    
    public void Add(T all)
    {
    _Lista.Add(all);
    }
    
    Public T this[int index]
    {
    
    
    get 
    {
    return (T) _Lista[index];
    } 
    
    }
    
    }
    
    
    
    //asi  puede utilizarla como generica
    
    miLista.Add(1);
    //o 
    //miLista.Add("1");

    bueno espero que esto ayude en algo

    cuidence hasta pronto


    Jonathan Romero
    Especialista .Net
    Profesional Microsoft VIP
    Blog: seguridad y programacion
    martes, 21 de abril de 2009 17:44