c# - ¿Cuándo el UnderlyingSystemType difiere de la instancia de Tipo actual?
.net clr (1)
System.Type
contiene una propiedad UnderlyingSystemType
. Msdn states que:
Indica el tipo proporcionado por el tiempo de ejecución de lenguaje común que representa este tipo.
En la mayoría de los casos, esta propiedad simplemente devuelve la instancia de Type
actual.
Mi pregunta es, en qué circunstancias esta propiedad no devuelve la instancia de Type
actual. Y en esos casos, ¿qué tipo de tipo será la instancia de Type
actual y el tipo de sistema subyacente devuelto?
Para ser honesto, nunca lo hice por mi cuenta, pero sé que es posible crear su propia definición tipo RuntimeType
de su tipo específico.
Si observa que la clase Type
es abstracta y tiene muchos miembros abstractos. Lo que sucede es que su tipo (lo que sea) crea automáticamente RuntimeType
derivado de la clase Type
y lo implementa para su tipo.
Por lo tanto, la propiedad UnderlyingSystemType
en el caso de un RuntimeType RuntimeType
devolverá la propiedad Type
igual valor, en el caso de una implementación anulada, en cambio, (eso es para influir en el comportamiento de confección, pero repito que personalmente nunca hice esto antes), devolverá el valor de tipo definido por el usuario .
EDITAR
En realidad, el enlace proporcionado por los chicos en los comentarios es bueno: