Diferencia entre typeof y .GetType()
💠typeof(TuClase)
: Se usa cuando conoces la clase en tiempo de compilación. Es una forma estática de obtener el Type
de una clase y se debe usar el nombre de la clase directamente con el operador typeof
.
💠objeto.GetType()
: Se usa para obtener el tipo de una instancia de objeto en tiempo de ejecución. Es una forma dinámica, porque no necesitas saber el tipo exacto del objeto cuando escribes el código; el tipo se determina cuando el programa se está ejecutando.
Ambas devuelven un objeto Type
que representa información sobre la clase, incluidas sus propiedades, métodos, atributos, etc.
Ejemplo:
Si tienes una clase Animal
y una instancia de esta clase llamada gato
, los ejemplos de uso serían:
Usando
typeof
:
Usando
.GetType()
en una instancia deAnimal
llamadagato
:
Ambos enfoques te darán acceso al mismo tipo de información sobre la clase Animal
, pero typeof
es útil cuando conoces el tipo en tiempo de compilación, mientras que .GetType()
es útil cuando el tipo exacto de objeto solo se conoce en tiempo de ejecución
Última actualización