Хорошо, вот ситуация:
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.