Frage

Wenn ich ein Projekt und ich markieren Sie ihn als

<Assembly: CLSCompliant(True)> 

Notwendigkeit Do I setzt CLSCompliant(True) vor alle Klasse im Projekt, oder sind sie alle zu CLSCompliant Verzug geraten?

War es hilfreich?

Lösung

das Attribut CLSCompliant auf Baugruppenebene Hinzufügen nicht die Klassen in irgendeiner Weise ändern, damit es nicht make CLS die Klassen-konform. Was sie tut, ist der Compiler zu erhöhen, etwas zu erzwingen, die nicht konform, als Fehler. Es ist immer noch in Ihrer Verantwortung, eigentlich sicher, dass die Klassen machen nicht die Regeln brechen.

sagte, dass obwohl, ja es tut Filter nach unten und wirken sich auf alle Klassen in der Montage, ohne dass es wieder zu jeder Klasse hinzuzufügen. Von hier :

  

Wenn kein CLS Attribut wird ein   geben, dass Typ hat angenommen wird, die   gleiche CLS-Kompatibilität wie die Montage in   dem der Typ definiert ist.

Dieser Artikel ist auch ein ganz netter Überblick darüber, wie es funktioniert, was Sie tun müssen, und warum Sie möchten, es zu tun.

Andere Tipps

Was ich weiß, über CLSCompliant ist, ist standardmäßig die Assembly nicht konform. Meiner Meinung nach, nicht alle Projekte müssen CLSCompliant sein. Projekte, die Werkzeuge oder Bibliotheken, die von anderen Anwendungen verwendet werden werden sollten CLSCompliant sein. Während Visual Studion-Tools für Windows Live bauen, mussten wir unseren Code sicherstellen, dass keine CLSCompliant Fehler oder Warnungen gegeben hat.

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