Problem mit der Schnittstellenimplementierung in Teilklassen

8

Ich habe eine Frage zu einem Problem mit L2S, Auto Generated DataContext und der Verwendung von Partial Classes. Ich habe meinen Datenkontext abstrahiert und für jede Tabelle, die ich verwende, implementiere ich eine Klasse mit einer Schnittstelle. In dem Code unten sehen Sie, dass ich die Schnittstelle und zwei Teilklassen habe. Die erste Klasse ist nur dazu da, um sicherzustellen, dass die Klasse im automatisch generierten Datenkontext die Schnittstelle enthält. Die andere automatisch generierte Klasse stellt sicher, dass die Methode von Interface implementiert ist.

%Vor%

Jetzt ist mein Problem, dass die Methode, die in der automatisch generierten Klasse implementiert wird, den folgenden Fehler gibt: - & gt; Property 'Instance' kann keine Eigenschaft vom Interface 'PartialProject.objects.Interface' implementieren. Der Typ sollte 'PartialProjects.objects.Interface' sein. & lt; -

Irgendeine Idee, wie dieser Fehler gelöst werden kann? Beachten Sie, dass ich im automatisch generierten Code nichts ändern kann.

Vielen Dank im Voraus!

    
Bas 09.04.2010, 09:58
quelle

2 Antworten

12

Sie können dies lösen, indem Sie die Schnittstelle explizit implementieren:

%Vor%     
JJoos 09.04.2010, 11:22
quelle
1

Rückgabetypen sind in C # nicht kovariant. Da Sie den automatisch generierten Code nicht ändern können, ist die einzige Lösung, die ich sehe, das Ändern der Schnittstelle:

%Vor%

Und ändern Sie Ihre Teilklasse entsprechend:

%Vor%     
helium 09.04.2010 10:07
quelle

Tags und Links