Ich habe eine Frage zu einem Problem mit L2S, Autogenerated 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.Problem mit Schnittstellenimplementierung in Teilklassen
namespace PartialProject.objects
{
public interface Interface
{
Interface Instance { get; }
}
//To make sure the autogenerated code inherits Interface
public partial class Class : Interface { }
//This is autogenerated
public partial class Class
{
public Class Instance
{
get
{
return this.Instance;
}
}
}
}
Nun mein Problem ist, dass das in der automatisch generierten Klasse implementiert Methode den folgenden Fehler gibt: -> Property ‚instance‘ kann nicht Eigentum von der Schnittstelle ‚PartialProject.objects.Interface‘ implementieren. Der Typ sollte 'PartialProjects.objects.Interface' sein. < -
Irgendeine Idee, wie dieser Fehler gelöst werden kann? Beachten Sie, dass ich im automatisch generierten Code nichts ändern kann.
Vielen Dank im Voraus!
Das ist genau das, was ich gesucht habe:] Vielen Dank! Funktioniert hervorragend – Bas
Gewählt. Danke für die nette Lösung. Ich habe meinen Kopf fast "geknackt", indem ich versuchte, Einschränkungen durch Schnittstellen zu umgehen. –
Nur für den Fall, dass jemand nach der Implementierung der obigen Lösung in den folgenden Fehler auftritt, schauen Sie [hier] (http://stackoverflow.com/questions/2669031/compilation-error-the-modifier-public-is-not-valid-for-- this-item-while-crea): Der Modifikator 'public' ist für dieses Objekt nicht gültig - entferne grundsätzlich alle Zugriffsmodifikatoren, da diese Eigenschaften als private erzwungen werden (was sinnvoll ist, wenn du darüber nachdenkst). – dyslexicanaboko