Was bedeutet es, DataMemberAttribute auf ein Interface-Member zu setzen?

8

Was bedeutet es, ein DataMemberAttribute auf eine Schnittstelle zu setzen? Mitglied? Wie wirkt sich dies auf abgeleitete Klassen aus?

    
Adibe7 25.01.2011, 08:48
quelle

3 Antworten

9

Wie in der folgenden Signatur gezeigt, ist das DataMember-Attribut nicht vererbbar

%Vor%

Daher macht es wenig Sinn, Interface-Member mit diesem Attribut zu dekorieren, da Sie die Member der implementierenden Klassen ebenfalls mit diesem Attribut dekorieren müssen.

    
vc 74 25.01.2011, 09:49
quelle
1

In meinem Fall verwende ich diese Attribute mit meinen WCF-Diensten. Wenn ich eine Schnittstelle für einen WCF-Webservice erstelle, definiere ich eine Schnittstelle auf diese Weise:

%Vor%

Wie Sie sehen, erhält der Service dieses Dienstes eine POCOCLient-Klasse. Dann muss ich die POCOClient-Klasse mit den Attributen ausstatten, die Sie auf diese Weise eingeben, damit die Klasse ordnungsgemäß serialisiert und an WCF gesendet werden kann.

%Vor%     
Jonathan 25.01.2011 08:56
quelle
-1

Wenn das Attribut [DataMember] auf ein Element eines Typs angewendet wird, gibt es an, dass das Element Teil eines Datenvertrags ist. Wenn dieses Attribut explizit auf ein Feld oder eine Eigenschaft angewendet wird, gibt es an, dass der Memberwert von einem DataContractSerializer-Objekt serialisiert wird (aus Artikel )

    
Steve 25.01.2011 08:54
quelle