Да, это правильно.Два метода имеют совершенно разные цели.
Комментарии /// <summary></summary>
используются для генерации XML-документации для вашего проекта во время компиляции, которая также анализируется Visual Studio для ее базы данных IntelliSense..
[DescriptionAttribute]
предоставляет текст описания, который используется в конструкторе, особенно в нижней части окна свойств.
Microsoftсобственная библиотека Windows Forms изобилует обоими этими.
Я не знаю ни одного способа слияния двух, но подумайте, действительно ли вы хотите, чтобы они были точно одинаковыми.В моих собственных библиотеках классов я часто хочу отображать в конструкторе немного другую информацию, чем я хочу включить в свою техническую документацию.
В качестве простого примера, я мог бы захотеть прояснить в конструкторе, что это свойствоне поддерживается в определенных версиях Windows, но перенесите эту информацию в раздел <remarks>
в моих технических документах:
/// <summary>
/// Gets or sets a value indicating whether a shield should be displayed
/// on this control to indicate that process elevation is required.
/// </summary>
/// <remarks>
/// The elevation-required shield is only supported under Windows Vista
/// and later. The value of this property will be ignored under earlier
/// operating systems.
/// </remarks>
[Category("Appearance")]
[Description("Displays a shield to indicate that elevation is required. " +
"(Only applies under Windows Vista and later.)")]
public bool ShowShield { get; set; }