2010-03-29 16 views
9

Dove posso trovare le specifiche di CLR? Ad esempio, voglio vedere come viene implementato in memoria l'oggetto "ThreadStart".Specifiche CLR .NET

Grazie.

risposta

12

Il più vicino che sono a conoscenza di è ECMA-335, che è la specifica CLI. Tuttavia, è necessario essere consapevoli del fatto che il modello di memoria ECMA è significativamente più debole di quello .NET. (Dove .NET è l'implementazione di Microsoft della CLI.)

Dubito che la CLI menzioni esplicitamente lo ThreadStart - è solo un altro delegato. A cosa ti interessa particolarmente?

+0

Mi piacerebbe vedere come viene costruito un oggetto come un delegato in memoria (i suoi campi, metodi, ecc ...). – Thomas

+0

Bene, * puoi * guardarlo con Reflector, ma quello sarà specifico per l'implementazione - non mi aspetterei di trovare quell'informazione in una specifica. Dovresti anche tener presente che i delegati hanno una sorta di doppia natura: puoi visualizzarli in modo multicast o puoi considerare quale sarebbe una "azione". È possibile visualizzarlo nelle proprietà Delegate.Method/Target e nel metodo MulticastDelegate.GetInvocationList. –

+0

Le specifiche CLI guidano anche solo il linguaggio C# o l'implementazione CLR? Le specifiche ECMA per CLR sono diverse da ECMA-335? Diciamo che devo scrivere un'implementazione CLR per un sistema operativo diverso da Windows, quindi quale specifica ECMA dovrei seguire? – RBT

5
Non

sicuro circa la Spec, ma se si vuole guardare i dettagli di implementazione si consiglia di utilizzare Red-gate Reflector

Problemi correlati