2016-10-19 1 views
1

Ich habe diesen seltsamen Fehler mit Base und Ref. Es besagt, dass ich Consona.Business.ISessionContext nicht zu M2MDomain.ISessionContext am Wortkontext in Basis konvertieren kann.C# kann nicht von x.ISessionContext in y.ISessionContext konvertieren

Ich weiß nicht, warum es nicht konvertieren wird, wenn der gleiche Code in anderen Dateien funktioniert.

+0

Sie sind verschiedene Arten; sie haben zufällig denselben Namen. Zeigen Sie die Konstruktordefinition aus 'BusinessComponent'; Ich schätze, es ist ein anderer Parameter-Typ. –

Antwort

4

Da Consona.Business.ISessionContext und M2MDomain.ISessionContext zwei separate Klassen sind. Nur weil sie gleich benannt sind, heißt das nicht, dass sie dieselbe Klasse sind. Sie befinden sich in völlig unterschiedlichen Namensräumen, vielleicht völlig unterschiedlichen Bibliotheken.

Wenn in der Zielklasse für die Quellklasse kein impliziter Konvertierungsoperator definiert ist, erhalten Sie den Fehler, den Sie erhalten haben.

Ich bin nicht empfehle eine implizite Konvertierung, übrigens - ich würde empfehlen, eine Konvertierungsfunktion zu definieren, die Sie explizit aufrufen müssen. Ihre Funktion müsste den ersten Typ manuell in den zweiten Typ konvertieren, was jedoch in Ihrer Anwendung sinnvoll ist.

+0

Hey, ich habe immer noch nicht herausgefunden, was das Problem ist, aber ich erkannte, dass der Fehler besagt, dass ich nicht zu M2MDomain.SessionContext konvertieren kann nicht zu ISessionContext. M2MDomain enthält eine Klasse SessionContext, die ISessionContext enthält. Die Frage ist nun, wie ich auf ISessionContext innerhalb dieser Klasse referenziere. – andrewvb

Verwandte Themen