2010-03-29 12 views
9

¿Dónde puedo encontrar la especificación de CLR? Por ejemplo, quiero ver cómo se implementa en la memoria el objeto "ThreadStart"..NET CLR especificaciones

Gracias.

Respuesta

12

Lo más cerca que yo sepa es ECMA-335 que es la especificación CLI. Sin embargo, debe tener en cuenta que el modelo de memoria de ECMA es significativamente más débil que el de .NET. (Donde .NET es la implementación de Microsoft de la CLI).

Dudo que la CLI mencione específicamente ThreadStart, es solo otro delegado. ¿En qué estás particularmente interesado al respecto?

+0

Me gustaría ver cómo se construye un objeto como delegar en la memoria (sus campos, métodos, etc ...). – Thomas

+0

Bueno, * puedes * ver eso con Reflector, pero eso será específico de la implementación. No esperaría encontrar esa información en una especificación. También debe tener en cuenta que los delegados tienen una especie de naturaleza dual: puede verlos de manera multidifusión o puede considerar lo que una "acción" tendría. Puede ver esto en las propiedades Delegate.Method/Target y en el método MulticastDelegate.GetInvocationList. –

+0

Las especificaciones CLI solo manejan el lenguaje C# o la implementación CLR? ¿Es la especificación de ECMA para CLR diferente de ECMA-335? Digamos que tengo que escribir una implementación de CLR para un sistema operativo diferente de Windows, ¿qué especificación de ECMA debería seguir? – RBT

5
No

seguro sobre el Spec pero si desea buscar en los detalles de implementación es posible que desee utilizar Red-gate Reflector

Cuestiones relacionadas