Articles of clr

Come visualizzare il codice compilato da JIT in .NET VM (CLR)

Come posso avere una traccia di codice nativo generato dal compilatore JIT? Grazie

Ha senso definire una struttura con un membro del tipo di riferimento?

Ha senso definire una struttura con un membro del tipo di riferimento (e non definirlo come una class)? Ad esempio, per definire questa struttura: public struct SomeStruct { string name; Int32 place; } Chiedo perché so che una struct è un tipo di valore, e per definire in esso un qualche tipo di riferimento non […]

C’è un modo per ottenere la rappresentazione della stringa del valore HRESULT usando l’API di vittoria?

Esiste una funzione in win API che può essere utilizzata per estrarre la rappresentazione della stringa del valore HRESULT? Il problema è che non tutti i valori di ritorno sono documentati in MSDN, ad esempio la funzione ExecuteInDefaultAppDomain () non è documentata per restituire “0x80070002 – Il sistema non riesce a trovare il file specificato.”, […]

Il CLR è una macchina virtuale?

Ho letto un libro che si riferiva a .net CLR come una macchina virtuale ? Qualcuno può giustificarlo? Qual è la ragione per cui abbiamo bisogno del concetto di macchine virtuali su alcune piattaforms di sviluppo? Non è ansible sviluppare un framework nativo [uno senza macchina virtuale] completamente orientato agli oggetti e potente come .net? […]

Crea automaticamente gestori di eventi C # vuoti

Non è ansible triggersre un evento in C # che non ha alcun gestore collegato. Quindi prima di ogni chiamata è necessario verificare se l’evento è nullo. if ( MyEvent != null ) { MyEvent( param1, param2 ); } Vorrei mantenere il mio codice il più pulito ansible e sbarazzarmi di quei controlli nulli. Non […]

Perché C # / CLR non supporta il metodo override co / controper varianza?

Ci sono alcune domande e risposte sull’hacking intorno alla limitazione di C # che non consente che i tipi di ritorno (e di argomento) del metodo vengano modificati in tipi compatibili sulle sostituzioni, ma perché esiste questa limitazione, nel compilatore C # o nel CLR? Come posso vedere, non c’è nulla che potrebbe rompersi se […]

Gli indicizzatori statici non sono supportati in C #?

Ho provato questo in alcuni modi diversi, ma sto raggiungendo la conclusione che non può essere fatto. È una funzione linguistica che ho apprezzato in altre lingue in passato. È solo qualcosa che dovrei semplicemente cancellare?

ambito variabile in blocchi di istruzioni

for (int i = 0; i < 10; i++) { Foo(); } int i = 10; // error, 'i' already exists —————————————- for (int i = 0; i < 10; i++) { Foo(); } i = 10; // error, 'i' doesn't exist Dalla mia comprensione dell’ambito, il primo esempio dovrebbe andare bene. Il fatto che […]

Come eseguire il debug di errori System.TypeLoadException in .NET?

Sto ottenendo il seguente errore su uno dei miei assembly di riferimento: Could not load type ‘System.Func`2’ from assembly ‘MyAssembly, … Sarò onesto, non credo di poter ricordare l’ultima volta che ho visto un errore System.TypeLoadException, o se l’ho visto, la soluzione era ovvia. Il mio primo istinto era vedere cosa MSDN aveva da dire […]

chiamare il codice gestito dal codice non gestito

Voglio chiamare il mio codice .NET da C ++ non gestito. Il mio processo di entrypoint è basato su .NET, quindi non devo preoccuparmi di ospitare il CLR. So che può essere fatto usando i wrapper COM per oggetti .NET, ma vorrei accedere ai singoli metodi statici delle classi gestite, quindi COM non è la […]