Domanda

Domanda rapida, ho letto su alcune cose .Net e il modo in cui c'è chi parla implica su di me che una libreria Net potrebbe essere utilizzato con più lingue .Net. Forse è solo un pio desiderio da parte mia lol. Per esempio ho potuto utilizzare il quadro Tao, programmato in C #, con il linguaggio .Net Boo?
L'unico modo ho potuto spiegarlo è se la libreria è compilato in bytecode per l'esecuzione in Net e può essere utilizzato con qualsiasi linguaggio che compila anche troppo. Non so molto su .Net però ^ - ^

Grazie

È stato utile?

Soluzione

Qualsiasi Assmebly (codice IL e manifesto) possono essere utilizzati in qualsiasi linguaggio .NET - non importa che lingua è stata scritta in, fino a quando il codice è CIL compatibile e conforme alle CLS (Common Language Specification)

MSDN (CLS):

  

Per pienamente interagire con altri oggetti, indipendentemente dalla lingua che sono stati attuati in, gli oggetti devono esporre a chi chiama solo quelle caratteristiche che sono comuni a tutte le lingue che devono interoperare con. Per questo motivo, il Common Language Specification (CLS), che è un insieme di lingua di base caratteristiche necessarie da molte applicazioni, è stata definita. Le regole CLS definiscono un sottoinsieme del Common Type System; cioè tutte le regole che si applicano al sistema di tipi comuni si applicano alle CLS, fatte salve norme più severe sono definite nelle CLS. La CLS aiuta a migliorare e garantire l'interoperabilità lingua attraverso la definizione di una serie di caratteristiche che gli sviluppatori possono contare su di essere disponibile in una vasta gamma di lingue. La CLS fissa inoltre i requisiti di conformità CLS; questi aiutare a determinare se i tuoi conforme codice gestito per la CLS e in quale misura un determinato strumento supporta lo sviluppo di codice gestito che utilizza CLS caratteristiche.

Altri suggerimenti

Se ho capito la tua domanda giusta, quindi è possibile creare una libreria .NET, per esempio, C # o Delphi Prism, compilarlo a IL e ottenere un assieme. Quindi è possibile fare riferimento e utilizzare questo assembly nel progetto VB.NET.

Non ci sono limiti alla interoperabilità. In particolare se il sistema tipo sottostante lingue diverse differisce significativamente. Ma Boo e C # sono molto simili a parte la sintassi, quindi non ci dovrebbero essere problemi tra questi.

Usiamo C # aiutante librerie nel nostro progetto VB.Net senza alcun problema - Un unico progetto in grado di gestire una sola lingua, ma una soluzione può contenere più progetti ognuno con la propria lingua (o di riferimento qualsiasi assembly scritto in qualsiasi linguaggio che compila MSIL) con funzionalità completa di debug VS

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top