No puedo encontrar las relaciones entre estos tipos usando .Net reflector. ¿Alguna idea?Dónde saber/comprobar: Int32 hereda de ValueType, ValueType hereda de Object?
Respuesta
Dado que usted dice "usando .Net reflector":
Si quería reflexión:
Type type = typeof (int);
while(type != null)
{
Console.WriteLine(type.FullName);
type = type.BaseType;
}
que muestra:
System.Int32
System.ValueType
System.Object
y si se refiere a la IL:
.class public sequential ansi serializable sealed beforefieldinit Int32
extends System.ValueType
y:
.class public abstract auto ansi serializable beforefieldinit ValueType
extends System.Object
(en el reflector, seleccione el nodo del tipo y seleccione IL como la vista)
Si se refiere a la # vista C, entonces:
public struct Int32 ...
es suficiente; la palabra clave struct
significa: hereda de ValueType
(aunque no del todo en el modo habitual C# class
). ValueType
sigue siendo una clase regular, y tiene:
public abstract class ValueType ...
y como de costumbre, una class
que no especifica un tipo de base significa: hereda de object
.
Me refiero a la vista C#. Todo está claro ahora. Gracias Marc por dar diferentes enfoques, que es genial. – user1033098
+1 para explicar diferentes formas posibles. – Adil
- 1. Django Model Mixins: hereda de models.Model or from object?
- 2. ¿Por qué Object incluye Kernel y lo hereda en Ruby?
- 3. Ruby hereda la clase
- 4. Iframe hereda del padre
- 5. Qt que hereda de QGraphicsEllipseItem
- 6. ¿Cuál es la diferencia entre GetHashCode implementado en Object y ValueType class?
- 7. ¿Modificar ValueType desde el método de extensión? Hace
- 8. ¿Cómo distinguir que un tipo es ValueType O RefereceType?
- 9. ¿Hereda y reemplaza funciones de std :: string?
- 10. ¿Por qué FormatException no hereda de ArgumentException?
- 11. ¿Por qué NSOrderedSet hereda de NSSet?
- 12. privada o públicamente hereda de boost :: non_copyable?
- 13. Nulo ControllerContext en mi controlador personalizado que hereda de BaseController
- 14. Scala REPL incorporado hereda classpath padre
- 15. La vista parcial hereda del diseño principal
- 16. hereda el archivo xib en Interface Builder
- 17. ¿La amistad se hereda en C++?
- 18. hereda "font-family" en SELECT/OPCIÓN
- 19. Burlarse de una clase que hereda de otra clase
- 20. Tema de Android XML que hereda de dos temas principales?
- 21. DataContractSerializer miembro de la clase que hereda ISerializable
- 22. Unidad probando una clase que hereda de una clase abstracta
- 23. ¿Por qué IEnumerable <T> hereda de IEnumerable?
- 24. Averiguar si Delphi ClassType hereda de otro ClassType?
- 25. RVM: crea un gemset que no hereda de global?
- 26. ¿File.Move no hereda los permisos del directorio de destino?
- 27. ¿Hereda de una clase base que implementa INotifyPropertyChanged?
- 28. ¿Cómo se llama cuando una interfaz "hereda" de otra?
- 29. C++ plantilla especializada hereda de la versión no especializada
- 30. Comprobar si la tabla hereda de otra tabla en PostgreSQL
Una buena pregunta, soy interesante también, pero creo que no se puede ver en el reflector porque solo las palabras clave como scruct o enum definen el tipo como valor para el compilador. –
@Denis puede verlo en IL, C# y el árbol ... –
el buscador de objetos en VS también debería darle la misma información ... –