Können Sie eine Schnittstelle in einer Linq2Sql-Klasse implementieren?

8

Ich habe eine Schnittstelle namens IAddress und eine Klasse namens Adresse, die Straße, Stadt, Bundesland / Provinz, Postleitzahl und Land abwickelt. Ich habe ein paar Linq2Sql-Klassen, die alle Adressinformationen und möchte die Schnittstelle IAddress implementieren, und übergeben Sie das an den Konstruktor für Address, die die Eigenschaftswerte laden würde.

Ist es möglich, ein Linq2Sql-Klasse-Element und eine Schnittstelle durch die partielle Klasse zu haben, die ich dafür erstellt habe? Vielen Dank im Voraus!

Zusätzliche Kommentare

In meiner Klasse habe ich eine Eigenschaft namens MailToStreet, die ich auf IAddress.Street abbilden soll. Gibt es eine Möglichkeit, dies in der partiellen Klasse zu tun?

Gelöst

Danke StackOverflow Gemeinschaft! Es war ein Kinderspiel! Hier ist mein endgültiger Code:

%Vor%     
mattruma 22.10.2009, 18:44
quelle

1 Antwort

13

LinqToSQL-Klassen sind partielle Klassen, sodass Sie eine zusätzliche Datei haben können, die die Schnittstelle für die LinqToSQL-Klasse implementiert.

Fügen Sie das einfach zu einer neuen Datei hinzu, indem Sie denselben Klassennamen wie für Ihre LinqToSQL-Klasse verwenden:

%Vor%

Wenn Ihre LinqToSQL-Klasse bereits die erforderlichen Eigenschaften implementiert, sollten Sie nur die Schnittstellendeklaration einschließen können.

Um den Kommentar zur Verwendung einer anders benannten LinqToSQL-Eigenschaft zur Implementierung der Schnittstelle zu beantworten, können Sie die obige Syntax verwenden und einfach die LinqToSQL-Eigenschaft von der Interface-Eigenschaft aufrufen, oder um die Dinge etwas sauberer zu halten, verwenden Sie explizite Implementierung:

%Vor%

Mit dieser Syntax sehen Clients, die auf Ihre Klasse zugreifen, keine redundante Eigenschaft, die nur zum Implementieren einer Schnittstelle verwendet wird (sie wird unsichtbar sein, wenn das Objekt nicht an diese Schnittstelle übergeben wird)

    
Ryan Brunner 22.10.2009, 18:49
quelle

Tags und Links