Нужно ли мне открывать конструктор в WCF DataContract, чтобы он работал во время создания экземпляра объекта на клиенте?

У меня есть класс в службе 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 отображается как null после объекта На клиенте создается . Я предполагаю, что конструктор не отображается на клиенте. Итак, нужно ли мне сделать конструктор явным операционным контрактом? Если так, это сделает внутренние вещи видимыми для клиента, которые они не должны видеть, верно? Как мне убедиться, что этот экземпляр происходит на клиенте?

Спасибо и извините, если это кажется глупым вопросом.

9
задан Mark Pim 25 October 2010 в 11:42
поделиться