Свойства с одинаковым именем в базовом и производном DataContracts вызывают ошибку в автоматически сгенерированной ссылке на сервис - PullRequest
1 голос
/ 19 мая 2011

Хорошо, вот ситуация:

DataContract FileRouterConfig является производным от RouterConfig (также DataContract).

Оба имеют свойство SendType.В RouterConfig (base):

public string SendType
{
    get { return sendType; }
    set { sendType = value; }
}

В FileRouterConfig (производный):

    [DataMember(Name = "SendType")]
    public new string SendType
    {
        get { return base.SendType; }
        set { base.SendType = value; }
    }

Теперь другой проект, который использует автоматически сгенерированную ссылку на службу (которая включает FileRouterConfig выше), не может быть собран сэта ошибка в автоматически сгенерированном reference.cs:

Предупреждение как ошибка: FileRouterConfig.SendType скрывает унаследованный элемент RouterConfig.SendType.Используйте новое ключевое слово, если целью было скрытие.

Как можно избежать этого, не изменяя атрибут имени DataMember, который нарушил бы существующий контракт данных?Обратите внимание, что я уже использовал новое ключевое слово в классе FileRouterConfig.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...