Warum ist dieser Parameter nicht CLS-konform?

8

Ich versuche, alle CLS-konformen Fehler zu beseitigen, die wir in unserer gesamten Lösung haben. Während ich es geschafft habe, mehrere zu sortieren (z. B. öffentliche Variablen, die mit einem Unterstrich beginnen und unsignierte Ganzzahlen verwenden), gibt es einige, bei denen ich nicht den Grund dafür finde, warum sie versagen.

Ich habe den ganzen für eines der Probleme relevanten Code eingefügt, es gibt eine Menge Code, aber er besteht nur aus einem Formularkonstruktor, einer Schnittstelle und einer Klasse, die die Schnittstelle implementiert.

VB.Net-Formularkonstruktor (die Warnung befindet sich im Parameter unitOfWork und liest Der Typ des Parameters 'unitOfWork' ist nicht CLS-kompatibel :

%Vor%

Die Schnittstelle IUnitOfWork lautet wie folgt:

%Vor%

Und die einzige Implementierung der Schnittstelle (und daher die, deren Instanz an den Formularkonstruktor übergeben wird) ist dies:

%Vor%

Ich bin entweder blind für das Problem (könnte der Fall sein, da ich seit Ewigkeiten darauf gestarrt habe!) oder es gibt eine andere CLS-Compliance-Einschränkung, die mir nicht bewusst ist. Irgendwelche Vorschläge?

    
XN16 09.10.2013, 16:00
quelle

2 Antworten

12

Meine Vermutung ist, dass Ihre C # -Bibliothek selbst nicht mit CLSCompliant gekennzeichnet ist. Ich habe den Fehler einfach dupliziert, wobei das VB-Projekt als CLSCompliant gekennzeichnet wurde und die C # -Bibliothek, auf die verwiesen wird, nicht als CLSCompliant gekennzeichnet ist.

Ich habe die C # -Bibliothek mit CLSCompliant markiert, und die Warnung wurde gelöscht.

    
Joe Enos 09.10.2013, 16:10
quelle
-1

Könnte es IsolationLevel isolationLevel von ISession sein? Die Namen können sich nicht nach Gehäuse unterscheiden.

  

Alle Namen innerhalb eines CLS-konformen Bereichs müssen eindeutig sein, auch wenn die Namen für zwei verschiedene Arten von Membern gelten, außer wenn die Namen identisch sind und durch Überladen aufgelöst werden. Zum Beispiel erlaubt der CLS keinem einzigen Typ, denselben Namen für eine Methode und ein Feld zu verwenden.

    
Amy 09.10.2013 16:13
quelle

Tags und Links