Cuando tenemos un objeto de tipo genérico Object en C#, podemos hacer con él las operaciones básicas de cada objeto pero en ocasiones, necesitaremos convertirlo en un objeto menos abstracto para poder hacer operaciones más concretas.
Aunque esta entrada no forma parte del curso de Mono, sí está muy relacionada con esta entrega dedicada a tipos de datos.
Si tenemos una variable u objeto y no sabemos su tipo con seguridad, disponemos de dos métodos que usaremos para ver cuál es realmente el tipo del mismo. Veamos:
Por ejemplo, ¿cómo saber si el objeto “auxiliar” es un entero con signo de 32 bits (el entero más estándar, el que usamos al poner int simplemente)?
if(auxiliar.GetType() == Type.GetType("System.Int32")) return true; else return false;
Al igual que con enteros, podemos hacer la comprobación para cualquier tipo:
https://www.youtube.com/embed/z-xGk9c_eOw Guionista y locutor: Manuel Ignacio López Quintero.Fecha de publicación: 31 de diciembre de 2024.
Ver comentarios
if(auxiliar.GetType() == TypeOf(System.Int32))
return true;
else
return false;
Esto seria lo mismo no???
@brandochn: Te comento, "typeof" es un operador, no un método y para lo que comentas sí sería lo mismo.
Sin embargo como operador que es tiene limitaciones respecto a Type.GetType():
* No se puede sobrecargar
* Para obtener el tipo de una expresión en tiempo de ejecución no podemos usar typeof()
Excelente y gracias! F. Javier Carazo Gil