在接口成员上放置 DataMemberAttribute是什么意思?这会如何影响派生类?
在接口成员上放置 DataMemberAttribute是什么意思?这会如何影响派生类?
如下所示的签名中,DataMember属性不可继承。
[AttributeUsageAttribute(AttributeTargets.Property|AttributeTargets.Field, Inherited = false,
AllowMultiple = false)]
public sealed class DataMemberAttribute : Attribute
因此,在接口成员上使用此属性几乎没有意义,因为您还需要在实现类的成员上使用此属性。Imports System.ServiceModel
<ServiceContract()>
Public Interface IClientContract
<OperationContract()>
Function GetClientList() As IList(Of POCOClients)
End Interface
<DataContract()>
<MetadataType(GetType(POCOAuthorizedkeys.POCOAuthorizedkeysMetaData))>
Public Class POCOAuthorizedkeys
<DataMember()>
<DisplayName("Id")>
Public Property Id As Integer
<DataMember()>
<DisplayName("IdPackage")>
Public Property IdPackage As Integer
<DataMember()>
<DisplayName("AuthorizedKey")>
Public Property AuthorizedKey As String
<DataMember()>
<DisplayName("IdUnthrustedClient")>
Public Property IdUnthrustedClient As Nullable(Of Integer)
End Class
[DataMember] 属性,当应用于类型的成员时,指定该成员是数据契约的一部分。当该属性显式地应用于字段或属性时,它指定该成员值将由 DataContractSerializer 对象序列化(参见文章)。