Рассмотрим следующие два контракта данных:WCF разница между типом и ServiceKnownType
[DataContract]
public class Item
{
[DataMember]
public int X;
}
[DataContract]
public class SubItem : Item
{
[DataMember]
public int Y;
}
В чем разница между использованием двух контрактов данных в следующих договоров об оказании услуг.
[ServiceContract]
public interface IInterface
{
[OperationContract]
[ServiceKnownType(typeof(SubItem))]
void Save(Item i);
}
[ServiceContract]
public interface IInterface
{
[OperationContract]
void Save(SubItem i);
}
Может ли первый быть вызван с подклассом предмета, кроме SubItem? Если да, то что означает значение ServiceKnownType?