Articles of clr

Qual è la rappresentazione del metodo in memoria?

Mentre pensavo un po ‘alla programmazione in Java / C # mi sono chiesto come i metodi che appartengono agli oggetti siano rappresentati in memoria e come questo fatto riguardi il multi-threading. È un metodo istanziato per ciascun object in memoria separatamente o tutti gli oggetti dello stesso tipo condividono un’istanza del metodo? Se quest’ultimo, […]

Perché controllare questo! = Null?

Occasionalmente mi piace passare un po ‘di tempo a guardare il codice .NET solo per vedere come vengono implementate le cose dietro le quinte. Mi sono imbattuto in questo gioiello mentre osservavo il metodo String.Equals tramite Reflector. C # [ReliabilityContract(Consistency.WillNotCorruptState, Cer.MayFail)] public override bool Equals(object obj) { string strB = obj as string; if ((strB […]

Come posso rilevare in fase di esecuzione che .NET versione 4.5 sta attualmente eseguendo il codice?

Ho installato l’anteprima per sviluppatori .NET 4.5 da http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=27541 , che sostituisce la versione .NET 4.0. Tuttavia, il vecchio modo di rilevare la versione di .NET Framework sembra restituire 4.0 (più precisamente 4.0.30319.17020 sul mio PC), invece di 4.5 (sicuramente per compatibilità con le versioni precedenti o?): using System; namespace ConsoleApplication { class Program { […]

Perché C # non consente funzioni non membro come il C ++

C # non permetterà di scrivere funzioni non membri e ogni metodo dovrebbe far parte di una class. Stavo pensando questo come una restrizione in tutte le lingue della CLI. Ma ho sbagliato e ho scoperto che C ++ / CLI supporta funzioni non membri. Quando è compilato, il compilatore renderà il metodo come membro […]

Classe generica statica come dizionario

Un campo statico in una class generica avrà un valore separato per ciascuna combinazione di parametri generici. Può quindi essere usato come un dizionario <Tipo, qualunque > È meglio o peggio di un dizionario statico <Tipo, qualunque >? In altre parole, quale di queste implementazioni è più efficiente? public static class MethodGen { public static […]

C # ‘è’ prestazione dell’operatore

Ho un programma che richiede prestazioni veloci. All’interno di uno dei suoi loop interni, ho bisogno di testare il tipo di un object per vedere se eredita da una determinata interfaccia. Un modo per farlo sarebbe con la funzionalità di controllo dei caratteri integrata del CLR. Il metodo più elegante probabilmente è la parola chiave […]

Risoluzione di MSB3247 – Trovati conflitti tra diverse versioni dello stesso assembly dipendente

Una soluzione .NET 3.5 si è conclusa con questo avviso durante la compilazione con msbuild. A volte NDepend potrebbe aiutare, ma in questo caso non ha fornito ulteriori dettagli. Come Bob, ho finito per dover ricorrere all’apertura di ogni assembly in ILDASM finché non ho trovato quello che faceva riferimento a una versione precedente dell’assembly […]

In C ++ / CLI, cosa fa il carattere del cappello ^?

Stavo leggendo Beginning Visual C ++ 2008 di Ivor Horton e molti dei suoi esempi CLR hanno questa definizione per main: int main(array ^args) Sono tornato, pagina per pagina, all’inizio del libro per trovare la prima istanza di questo tipo con una spiegazione su cosa significhi realmente, ma non potrei trovarne uno. Ovviamente significa lo […]

Stack di capacità in C #

Qualcuno potrebbe dirmi quale sia la capacità dello stack in C #. Sto cercando di formare un object chiuso mesh 3D utilizzando una serie di 30.000 elementi.

Perché i generici C # non possono derivare da uno dei parametri di tipo generico come possono nei modelli C ++?

Perché i generici C # non possono derivare da uno dei parametri di tipo generico come possono nei modelli C ++? Voglio dire, so che è imansible perché CLR non supporta questo, ma perché? Sono consapevole delle profonde differenze tra i modelli C ++ e i generici C #: i primi sono entity framework di […]