継承を使用するオブジェクト クラスがいくつかあります。サービスによって直接使用されるオブジェクトにしかアクセスできないようです。私が達成しようとしていることをお見せしましょう:
[DataContract]
public class Object1
{
[DataMember]
int Id {get; set;}
}
[DataContract]
public class object2: Object1
{
[DataMember]
string Name {get; set;}
}
[DataContract]
public class object3
{
[DataMember]
int SomeNumber {get; set;}
}
サービス:
public int GetId(object2 obj)
{
return GetTheId(object2.Name);
}
現在、サービスで object2 を使用しているため、object1 もシリアル化されます。ただし、何らかの理由で object3 を公開したい場合があります。後で別のプロセスのためにその型を決定できるように、渡す必要があるのは派生クラスである可能性があります。このオブジェクトがシリアライズされていません。DataContract / DataMember を設定するたびに、これらのオブジェクトがシリアル化されると想定しました。必要のないアイテムを公開すると問題が発生する可能性があるため、使用されていないものを公開しないことは理にかなっています。サービスによって直接使用されないオブジェクトを公開する最善の方法は何ですか? ありがとう
ダニエル