Was ist die Beziehung zwischen CTS und CLS?
Ich einfach nicht scheinen zu verstehen, dass diese Säulen .NET.
Siehe CIL,CLS,CTS .NET.
InformationsquelleAutor harrisunderwork | 2010-06-05
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich einfach nicht scheinen zu verstehen, dass diese Säulen .NET.
InformationsquelleAutor harrisunderwork | 2010-06-05
Du musst angemeldet sein, um einen Kommentar abzugeben.
CTS (Common Type System)
So kann man sagen, CTS beschreibt, wie Typen deklariert, verwendet und verwaltet, die in der Laufzeit und erleichtert cross-language integration, geben Sicherheit und high-performance-Ausführung von code.
CLS (Common Language Specification)
Die Common Language Specification (CLS) ist eine Vereinbarung zwischen Sprache Designern und Klasse-Bibliothek-Designer verwenden eine gemeinsame Teilmenge der grundlegenden Funktionen der Sprache, die alle Sprachen haben zu Folgen.
Als Sie es im Bild sehen kann CLS ist eine Untermenge des CTS
alt-text http://www.microsoft.com/taiwan/msdn/columns/DoNet/images/NET_CTS1.gif
Ja, können Sie es in das Bild.
Was ist die Referenz für das Bild? Scheint fehlt...
Können Sie geben einige Beispiel-bitte - blanke Theorie hilft mir nicht sehr viel 🙂 ich scheine, besser zu verstehen, anhand von Beispielen.
pleas msdn.microsoft.com/en-us/library/12a7a7h3.aspx und msdn.microsoft.com/en-us/library/zcx1eb1e.aspx. Dort können Sie detailliertere Informationen.
InformationsquelleAutor Incognito
Wie bereits erwähnt, ist CLS Teilmenge des CTS. Aber es gibt noch viel mehr in der eigentlichen definition dieser Begriffe.
Schlage ich die Lektüre CLR via C#.
InformationsquelleAutor Manish Basantani
Einige Beispiele wäre sicher hilfreich hier.
Eines der wichtigsten Dinge, die nicht CLS-kompatibel ist, zahlen ohne Vorzeichen (z.B., "uint"). Ein weiterer ist Funktionszeigern (delegates). Wenn es nicht mehr Sinn machen, an beiden enden der Linie, dann ist es nicht "üblich"; CLS definiert einen Satz von gemeinsamen Arten, dass die Arbeit nicht nur innerhalb der CLR, aber auch in gemeinsamen und gut-specificed interop-Szenarien.
Wenn Sie erzwingen möchten CLS-compliance, Sie können hinzufügen, die "CLSCompliant" - Attribut auf eine assembly, indem es der assemblyinfo.cs-Datei in einem Projekt.
Können Sie auch hinzufügen, Sie als ein Attribut für eine Klasse.
Diese Dinge tut, wird verursachen, dass der C# - compiler (oder VB, mit der entsprechenden VB-syntax auf die Attribute) zu erhöhen, Fehler bei der Kompilierung für CLS-compliance-Verstöße.
Auch das hinzufügen der [ScriptService] und [ScriptMethod] Attribute für web-Dienstleistungen (.asmx) bewirken, dass der Dienst zum generieren von JSON-Dienst-Ausgang, und wird verlangen, dass die Daten, die für die Antworten der Dienste als solche gekennzeichnet werden CLSCompliant auf Klassen-und Montage-Ebenen.
InformationsquelleAutor Cylon Cat
Common Type System
CTS ist eine formale Spezifikation zur Beschreibung Typ-Eigenschaften:
und event.
Familie und die Baugruppe (N/A), Montage (kein Modifikator/intern), family oder assembly
(protected internal), public (öffentlich)
Common Language Specification
CLS erleichtert die Interoperabilität zwischen .NET-Sprachen auf der IL Stufe:
damit der code kompatibel sein unter .NET-Sprachen.
und trotzdem interoperabel sein mit Programme in anderen .NET-Sprachen.
Sprachen.
code als public markiert, da diese die einzigen sind, die verfügbar sind, um andere
Programme.
compiler prüft, ob der code ist CLS-kompatibel.
Zum Beispiel:
Foo()
undfoo()
sind die gleiche Sache.InformationsquelleAutor Robotron