WCF サービスでクライアントから派生クラスを非表示にしたいと考えています。
例 -
[DataContract]
public class Base
{
public int Id {get; set;}
}
public class Derived : Base
{
public string Name {get; set;}
}
私が次のような運用契約を結んでいるとしましょう
[OperationalContract]
Base GetData();
運用契約の実施
public Base GetData()
{
Derived = new Derived {Id = 1, Name = "Foo" };
return derived;
}
上記の例は機能しません。[KnownType(typeof(Derived)] を Base クラスに追加し、DataContract 属性を Derived クラスに追加すると、すべてが正常に機能するように見えますが、そうすると、クライアントに Derived クラスが表示されます。派生クラスをクライアントから隠すことは可能ですか?ありがとう