Markieren aller Klassen in einem Projekt CLS-konform
-
21-09-2019 - |
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?
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.