架构师_程序员_码农网

B Passwort abrufen
Registrieren

QQ登录

Nur ein Schritt zum Start

Suche
Ansichten:23200|Antworten: 0
打印 上一主题 下一主题

[NET (CLS) Öffentliche Sprachspezifikation

[Link kopieren]
D 跳转到指定楼层
Eigentümer des Gebäudes
发表于 2021-1-11 11:43:49|只看该作者回帖奖励 | UmgekehrtesBlättern|Lesemodus
NET ist eine eigenständige Sprache. Das bedeutet, dass Sie als Entwickler in einer der vielen an .NET orientierten Sprachen (z. B. C#, C++/CLI, Eiffel, F#, IronPython, IronRuby, PowerBuilder, Visual Basic, Visual COBOL und Windows PowerShell) entwickeln können. NET-Entwicklung. Zugriff auf die Typen und Member von Klassenbibliotheken, die für .NET entwickelt wurden, ohne die ursprüngliche Autorensprache zu kennen oder die Konventionen der Originalsprache zu befolgen. Wenn Sie ein Komponentenentwickler sind, kann auf Ihre Komponenten von jeder .NET-Anwendung zugegriffen werden, unabhängig von der Sprache, in der sie geschrieben wurden.

Wenn Ihre Komponente der Common Language Specification entspricht, ist sie garantiert CLS-kompatibel und kann von Code in einer Assembly angesprochen werden, die in einer beliebigen Programmiersprache geschrieben wurde, die CLS unterstützt. Sie können feststellen, ob Ihre Komponente zur Kompilierungszeit konform ist, indem Sie das Feature CLSCompliantAttribute auf den Quellcode anwenden.

In der öffentlichen Sprachspezifikation werden alle Regeln der CLS-Konformität für Benutzer (Entwickler, die programmatisch auf CLS-konforme Komponenten zugreifen), Frameworks (Entwickler, die mithilfe von Sprachcompilern CLS-konforme Bibliotheken erstellen) und Extender (Entwickler, die Tools wie Sprachcompiler oder Codeanalysatoren erstellen, die CLS-konforme Komponenten erzeugen) erläutert.
Standardmäßig wird der Code beim Kompilieren der Anwendung nicht auf CLS-Konformität geprüft. Wenn Ihr Code jedoch öffentlich verfügbar ist (Code-Shares, Nuget-Veröffentlichungen usw.), wird empfohlen, [assembly: CLSCompliant(true)] zu verwenden, um anzugeben, dass Ihre Bibliothek CLS-konform ist.

Referenzen:

h ttps:// docs.microsoft.com/en-us/dotnet/standard/language-independence-and-language-independent-components
h ttps:// docs.microsoft.com/zh-cn/dotnet/api/system.clscompliantattribute?view=net-5.0
h ttps:// www.ecma-international.org/publications/standards/Ecma-335.htm

Für den Laien ausgedrückt:

Man kann mit den Händen essen, man kann mit einem Löffel essen, es gibt kein Problem, aber das Essen mit den Händen entspricht nicht den Hygienestandards oder -normen.CLS ist eine Protokollspezifikation, obwohl die Baugruppe keine Fehler meldet und die normale Verwendung nicht beeinträchtigt, aber Sie entwickeln Code, der bestimmte Typen, Parameter usw. nicht einhält.

CLS verwenden

In der Datei AssemblyInfo.cs fügen wir den folgenden Code ein:



Sie wird auf die gesamte Baugruppe angewendet.

Wenn Sie es nicht festlegen, wird beim Hinzufügen des Merkmals zu einem Objekt möglicherweise der folgende Fehler angezeigt:

Da die Baugruppe nicht über das Merkmal CLSCompliant verfügt, benötigt "A.Test" das Merkmal CLSCompliant nicht.

Testen Sie den Code wie folgt und kompilieren Sie neu:

Der Typ von "A.Test" ist nicht CLS-konform.



Sie können sehen, dass es zwei Warnungen gibt. Wenn Sie auf die Warnung klicken, wird die entsprechende Zeilennummer angezeigt, die besagt, dass unsere Codezeile nicht mit der CLS-Spezifikation übereinstimmt.

Wenn die Zeile nicht mit der CLS-Spezifikation übereinstimmt, die Änderung sich aber auf die korrekte Funktion des Programms auswirkt, Sie aber nicht möchten, dass vs eine Warnung ausgibt, können Sie die folgenden Merkmale in das Feld Klasse oben einfügen:



Dadurch wird diese Warnung nicht ausgegeben.

(Ende)





Vorherige: Entity Framework Abfrageoptimierung MIT (NOLOCK)
Next :.NET/C# Abfrage des aktuellen Anwendungsstatus (CPU, Thread, GC)
Als ich dies zum ersten Mal sah, konnte ich den Unterschied zwischen einem Patch und einer Put-Anforderung und den Unterschied zwischen einem restful Patch und einer Put-Anforderung und den Unterschied zwischen einem Patch und einer Put-Anforderung erkennen.
Sie müssen sich anmelden, bevor Sie zurückschreiben können Anmelden | Registrieren

D iese Version der integralen Regeln


Disclaimer: Alle Software, Programmierung Materialien oder Artikel durch den Code Landwirt Netzwerk veröffentlicht wird, um Studien-und Forschungszwecken beschränkt; die oben genannten Inhalte dürfen nicht für kommerzielle oder illegale Zwecke verwendet werden, da sonst alle Folgen bitte Benutzer verantwortlich. Diese Website Informationen aus dem Netzwerk, Urheberrechtsstreitigkeiten hat nichts mit dieser Website zu tun. Sie müssen die oben genannten Inhalte innerhalb von 24 Stunden nach dem Herunterladen vollständig von Ihrem Computer entfernen. Wenn Ihnen das Programm gefällt, unterstützen Sie bitte die echte Software, kaufen Sie die Registrierung und erhalten Sie einen besseren echten Service. Wenn es irgendeine Verletzung gibt, kontaktieren Sie uns bitte per E-Mail, um damit umzugehen.

E-Mail To:help@itsvse.com

QQ| ( 鲁ICP备14021824号-2)|Sitemap

GMT+8, 2024-9-19 00:18

SchnellantwortZurück zum AnfangZurück zur Liste