Измените xml-описание свойства в производном классе

#c# #inheritance #properties #xml-comments

#c# #наследование #свойства #xml-комментарии

Вопрос:

Есть ли способ изменить xml-описание свойства в производном классе без перезаписи объявления getter и setter? Пример:

 public abstract class BaseClass
{
    /// <summary>
    /// description of foo in BaseClass
    /// </summary>
    public int foo
    {
        get { /* do something */ }
        set { /* do something */ }
    }
}

public sealed class DerivedClass: BaseClass
{
    /// <summary>
    /// description of foo in DerivedClass
    /// </summary>
    public int foo
    {
        get { /* do something */ }
        set { /* do something */ }
    }
}
  

Там, где реализации foo должны быть одинаковыми в обоих классах, изменяется только описание.

Ответ №1:

В принципе, нет. Однако вам не нужно добавлять новую реализацию — вы можете просто использовать:

 /// <summary>
/// description of foo in DerivedClass
/// </summary>
public int foo
{
    get { return base.foo; }
    set { base.foo = value = value; }
}
  

Но вам нужно будет повторно объявить метод. Это может быть через пару virtual / override или через new (скрывающий член) элемент.

Комментарии:

1. Спасибо, я делал так, и я не знал, есть ли более компактный способ.