Frage

Zum Beispiel habe ich gelesen, dass Visual Basic .NET nicht hatte Betreiber vor Überlastungen, so würde nicht in der Lage sein, eine Art überladenen Operatoren zu verwenden, wenn sie nicht als normale Methoden auch zur Verfügung gestellt werden (hinzufügen, statt operator + ).

Nun, da VB diese Funktion hat, würde CLSCompliant Pflege Attribut, wenn Sie normale statische Methoden haben mag addieren, subtrahieren nur statt Betreiber Überlastungen?

Ich habe einige Arten ohne die verbalen statischen Methoden geschrieben, aber nur Betreiber Überlastungen und der C # -Compiler kümmerte sich nicht darum. Wenn es ein Problem gibt, würde es mich warnen, nicht wahr?

War es hilfreich?

Lösung

CLS-Kompatibilität ist nicht mit älter alles zu tun - es ist einfach der Kernsatz von Funktionen, die man vernünftigerweise sollte erwarten ein beliebiger Sprache zu handhaben (wenn Ihr Code aufwendig). Zum Beispiel ist es nicht vernünftig anzunehmen, dass eine Sprache Fall empfindlich ist, so Mitglieder "Foo" und "foo", während legal in C #, sind nicht CLS-kompatibel.

Der Compiler warnt Sie, wenn Sie es zu fragen; hinzufügen [CLSCompliant(true)] auf eine Art / Montage / etc, und es wird Ihren Anspruch überprüfen.

Wenn Sie ein ISV sind, möchten Sie vielleicht über CLS-Kompatibilität denken. Wenn Sie das Schreiben von Code sind nur für sich selbst und Team, haben Sie wahrscheinlich den Aufwand nicht brauchen.

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