Frage

Ich habe ein paar quälenden Compiler-Warnungen für eine App, die ich von VB6 portierte vor einiger Zeit in Bezug auf CLS-Konformität einschließlich:

Name '_AnIdentifier' is not CLS-Compliant.
Type of parameter 'myType' is not CLS-Compliant.

Trotz dieser, meine app scheint von COM und Managed Clients nur gut auszuführen. Ich habe mehr Artikel gesehen beschreiben, was zu tun, den Code CLS-konform zu machen, und ich werde wahrscheinlich voran gehen und tue es trotzdem den quälenden Warnungen loszuwerden, aber ich bin gespannt, was die Nachteile von Nicht-CLS-konformem Code in der Praxis sind Begriffe? Welche Einschränkungen ist dieser imposting, dass ich noch nicht entdeckt haben?

War es hilfreich?

Lösung

Im Grunde Ihre Klasse nicht zugänglich sein (oder kann seltsam wirken, wie große positive Zahlen als negativ behandelt werden), wenn sie mit einigen .NET-Sprachen verwendet. Ich kann nicht sagen, welche Sprachen sie auch sein mögen.

Zum Beispiel glaube ich nicht, eine Sprache erforderlich ist, einen Identifikator zu erkennen, die mit einem Unterstrich beginnt. C # ermöglicht es, so dass Sie es sicher, aber für andere Sprachen „_AnIdentifier“ können versteckt sein, oder ein System generierten Namen haben.

Andere Tipps

Ich habe in Probleme mit Verschleierungs Tool läuft falsch verschleierten Code zu erzeugen, wenn Code, der nicht CLS-kompatibel ist verschleiert wird.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top