У меня есть класс в службе WCF, давайте назовем его A . A - это контракт данных, который содержит в качестве одного из своих членов DataMembers коллекцию другого пользовательского объекта B . Чтобы избежать проблем с нулевой ссылкой на стороне клиента, я создаю экземпляр BList в конструкторе следующим образом:
[DataContract]
public class A
{
[DataMember]
public String name { get; set; }
[DataMember]
public List<B> BList {get; set; }
public A()
{
BList = new List<B>();
}
}
Моя проблема в том, что на клиенте такое создание не происходит, и BList отображается как ноль после создания на клиенте объекта A . Я предполагаю, что конструктор не появляется на клиенте. Итак, мне нужно сделать конструктор явным контрактом операции? Если так, это сделало бы внутренние вещи видимыми для клиента, которые они не должны видеть, верно? Как мне убедиться, что это создание экземпляра происходит на клиенте?
Спасибо, извините, если это кажется глупым вопросом.