使用派生類型
假定Book和Magazing這兩個類型派生自LibraryItem。若要在IsLibraryItemAvailable操作中使用這些類型,可以按如下方式更改操作:
[OpertationContract]
[ServiceKnownType(typeof(Book))]
[ServiceKnownType(typeof(Magazine))]
public bool IsLibraryItemAvailable(LibraryItem item);
或者,當(dāng)使用默認的DataContractSerializer時,也可以使用KnownTypeAttribute屬性,如下面的示例代碼所示:
[OpertationContract]
public bool IsLibraryItemAvailable(LibraryItem item);
[DataContract]
[KnownType(typeof(Book))]
[KnownType(typeof(Magazine))]
public calss LibraryItem{
//code omitted
}