Determinar si una variable es una colección

31/10/2006 - 14:37 por Diego Javier Martínez | Informe spam
Buenos días a todos, mi problema de hoy es el siguiente:

Tengo una variable object la cual puede recibir cualquier tipo de dato según
la operación que realice el usuario, incluyendo diferentes tipos de
colecciones (tanto del system.collections como del
system.collections.generics). Esta variable luego es pasada como parámetro a
un método el cual debe realizar distintas acciones según sea su tipo de dato.

El código del método que recibe el párametro del tipo object es el siguiente:

If IsReference(_objeto And (Not _objeto.GetType Is GetType(String)) Then

'Si el objeto es del tipo reference

'Opero apropiadamente para este tipo de datos

Else

'Si el objeto es un valor

'Opero de manera diferente a la anterior.


End If

El problema es que tanto cuando el parámetro es de algún tipo collection
como cuando es de algún otro tipo de clase, estoy ingresando por el primer
bloque (el IF) y en realidad el tratamiento que debo darle al objeto si es
una colección es diferente a como debo tratarlo si es de cualquier otro tipo
de clase. Lo que necesito saber es ¿cómo puedo hacer para determinar cuando
el parámetro recibido es algún tipo de colección? ¿hay alguna función similar
a "IsReference", algo así como "IsCollection" que me diga cuando el parámetro
que se le pasa a la misma es una colección (ya sea esta de cualquier tipo)?

Agradezco cualquier dato que puedan darme.

Saludos, Diego
 

Preguntas similares