使用派生类型
假定Book
和Magazing
这两个类型派生自LibraryItem
。若要在IsLibraryItemAvailable
操作中使用这些类型,可以按如下方式更改操作:
[OpertationContract]
[ServiceKnownType(typeof(Book))]
[ServiceKnownType(typeof(Magazine))]
public bool IsLibraryItemAvailable(LibraryItem item);
或者,当使用默认的DataContractSerializer
时,也可以使用KnownTypeAttribute
属性,如下面的示例代码所示:
[OpertationContract]
public bool IsLibraryItemAvailable(LibraryItem item);
[DataContract]
[KnownType(typeof(Book))]
[KnownType(typeof(Magazine))]
public calss LibraryItem{
//code omitted
}