У меня есть несколько классов объектов, которые используют наследование. Кажется, я могу получить доступ только к объектам, которые непосредственно используются службой. Позвольте мне показать вам, что я пытаюсь сделать:
[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);
}
Теперь, поскольку я использую объект2 в службе, объект1 тоже сериализуется. Однако по какой-то причине я могу захотеть, чтобы объект object3 был выставлен. Это может быть производный класс, который я должен передать, чтобы его тип можно было определить позже для другого процесса. Я не вижу, чтобы этот объект сериализовался. Я предполагал, что всякий раз, когда вы устанавливаете DataContract/DataMember, эти объекты будут сериализованы. Имеет смысл не показывать то, что не используется, потому что я вижу проблему с раскрытием элементов, которые вам могут не понадобиться. Каков наилучший способ предоставления объектов, которые непосредственно не используются службой? Спасибо
Даниэль