2012-07-12 6 views
5

http://msdn.microsoft.com/en-us/library/ah19swz4(v=VS.71).aspxClase base de la estructura a construir en C#

De acuerdo con el enlace de arriba ... .. “Las estructuras, sin embargo, heredar de la clase de objeto de base ......”

Según el siguiente enlace http://msdn.microsoft.com/en-us/library/system.valuetype.aspx Struct se implementa después de ValueType en la jerarquía.

"struct" se deriva de qué clase? ¿O el compilador trata la palabra de reserva "struct" para hacer cualquier declaración usando "struct" como tipo de valor? Falta el hilo pequeño en la comprensión general. Gracias por su ayuda. Smith

+0

¿Qué es lo que no entiendes? ¿Es esta una pregunta de entrevista ...? suena como uno ... LOL – MethodMan

+0

struct -> ValueType -> Objeto –

Respuesta

6

Las jerarquías (omitiendo cualquier subtipo de clase) son:

  1. struct .. -> ValueType -> Object

  2. class .. -> Object

Demostración:

struct S {} 
class C {} 

// or see `is` as per Jeff Mercado's comment 
typeof(ValueType).IsAssignableFrom(typeof(S)); // True 
typeof(object).IsAssignableFrom(typeof(S)); // True 

typeof(ValueType).IsAssignableFrom(typeof(C)); // False 
typeof(object).IsAssignableFrom(typeof(C)); // True 
+2

Sería más fácil usar 'is'. ;) –

+0

+1 para editar graciosamente ... – Daniel

+0

de donde int y bool, todos estos tipos de datos primitivos provienen? ¿Por qué la definición de sintaxis de int no muestra la jerarquía de herencia? Http: //msdn.microsoft.com/en-us/library/5kzh1b5w (v = VS.80) .aspx – LaysomeSmith

Cuestiones relacionadas