Este es un hilo medio viejo pero leyendo esto me acordé, en una de
esas te puede servir Diego.

http://www.codeplex.com/entlibcontrib/Wiki/View.aspx?title=VAB%20Contributions&ANCHOR#TypeValidator

Saludos.

On 9/26/07, Diego Baselica <[EMAIL PROTECTED]> wrote:
>
>
> Muchas gracias a todos por las respuestas, anduvo pero parcialmente, quiero
> decir que anda, pero lo quiero mejorar
>
> Como mi clase usa Generics, yo en el metodo tengo (T) que es el tipo que
> usa, y la solucion que logre usar es creando una instalcia de T mediante
>
>
>
> Dim oObj As T
> oObj = Activator.CreateInstance(GetType(T))
>
>
> luego .
>
> If TypeOf oObj Is ICachable Then
>     Console.WriteLine("esto anda")
> End If
>
> Dim cache As ICachable = TryCast(oObj, ICachable)
> If Not cache Is Nothing Then
>     Console.WriteLine("esto anda")
> End If
>
>
> pero querria hacelo andar con el tipo asi me evito de crear una instancia a
> cada momento solopara sacar si pertenece a la interface
>
> If GetType(T).IsSubclassOf(GetType(ICachable)) Then
>     Console.WriteLine("esto No anda")
> End If
>
> If TypeOf GetType(T) Is ICachable Then
>     Console.WriteLine("esto No anda")
> End If
> Voy a seguin intentando, ya que segun mi intuicion deberia andar, (parece
> que ando bien de intuicion y mal de programador)
> Muchas gracias
>
>
>
>
>
> Ing. Diego M. Basélica
> e-mail: [EMAIL PROTECTED]
>
> UpSoft Sistemas Informáticos
> Rafael Nuñez 3498 (X5009CFO) Córdoba, Argentina
> Tel/Fax: 0351-4814812 (rot.)
> www.upsoft.com.ar
>
>
>
>  ________________________________
>  De: puntonet@mug.org.ar [mailto:[EMAIL PROTECTED] En nombre de Duhalde
> Martín
> Enviado el: Miércoles, 26 de Septiembre de 2007 10:09
> Para: puntonet@mug.org.ar
> Asunto: [puntonet] Como saber si un tipo implementa una interface
>
>
>
> También podes hacer algo como esto:
>
>     bool esCacheable= (objeto as ICacheable !=null);
>
>
>     bool esCacheable= objeto is ICacheable;
>
>
>
>  ________________________________
>  De: puntonet@mug.org.ar [mailto:[EMAIL PROTECTED] En nombre de Diego
> Jancic
> Enviado el: Martes, 25 de Septiembre de 2007 07:05 p.m.
> Para: puntonet@mug.org.ar
> Asunto: [puntonet] Como saber si un tipo implementa una interface
>
>
>
>
>
> Hola,
>
>
>
> Obtene el tipo y ahi tenés mas de un método para saberlo..
>
>
>
> En C# por ejemplo seria algo como:
>
>
>
> Void método (BaseEntity obj)
>
> {
>
>      bool esCacheable =
> typeof(ICacheable).IsAssignableFrom( obj.GetType() );
>
>
>
>      ….
>
> }
>
>
>
>
>
> Tambien podes hacer cosas parecidas con IsSubclassOf..
>
>
>
> Saludos,
>
> Diego
>
>
>
>
>
>
>
> From: puntonet@mug.org.ar [mailto:[EMAIL PROTECTED] On Behalf Of Diego
> Baselica
> Sent: Martes, 25 de Septiembre de 2007 06:34 p.m.
> To: puntonet@mug.org.ar
> Subject: [puntonet] Como saber si un tipo implementa una interface
>
>
>
>
> Hola:
>
>
>     Estoy necesitando conocer si un tipo de datos cumple con una interface y
> no logre hacerlo
>
>
>
>
>
>     Tengo una clase base BaseEntity
>
>
>
>
>
>     Tengo una interface ICachable
>
>
>
>
>
>
>
>
>     EntidadEjemplo1
>
>
>     Inherits BaseEntity
>
>
>     Implements ICachable
>
>
>
>
>
>
>
>
>
>     EntidadEjemplo2
>
>
>     Inherits BaseEntity
>
>
>
>
>
>
>
>
>     En otra clase tengo un metodo
>
>
>     Metodo(Of T as BaseEntity)
>
>
>     'Donde recibe EntidadEjemplo1 o EntidadEjemplo2
>
>
>     'y necesito saber si la clase implementa la interface
>
>
>     'osea para EntidadEjemplo1 me deberia dar True y en el otro false, ya
> que segun sea necesito hacer algo o no
>
>
>
>
>
> Desde ya muchas gracias
>
>
>
>
>
>
>
>
>
>
> Ing. Diego M. Basélica
>
> e-mail: [EMAIL PROTECTED]
>
>
>
> UpSoft Sistemas Informáticos
>
> Rafael Nuñez 3498 (X5009CFO) Córdoba, Argentina
>
> Tel/Fax: 0351-4814812 (rot.)
>
> www.upsoft.com.ar
>
>
>
>
> __________ Información de NOD32 2550 (20070925) __________
>
> Este mensaje ha sido analizado con NOD32 Antivirus System
> http://www.nod32.com
>


-- 
Leonardo Micheloni.

http://leomicheloni.blogspot.com/

Responder a