gpt4 book ai didi

c# - DescriptionAttribute 与 标签的属性

转载 作者:太空狗 更新时间:2023-10-29 22:34:21 28 4
gpt4 key购买 nike

我正在 VS 2005 下用 C# 编写一个类库(我知道,与时俱进,但我们这里的预算很紧)。

在我看来,如果我在 XML 文档中使用“摘要”标记,我的用户可以通过 Intellisense 和工具提示等看到该信息,但不能在 Studio 的“属性”窗口中看到。

要在该窗口中获取某些内容,我似乎需要使用 [Description("This is it")] 属性。

我对此是否正确?如果是这样,那么我似乎需要复制描述信息:-(

或者,有没有更好的办法?谢谢!

最佳答案

是的,没错。这两种方法的目的截然不同。

  • /// <summary></summary>注释用于在编译时为您的项目生成 XML 文档,Visual Studio 也会对其 IntelliSense 数据库进行解析。

  • [DescriptionAttribute]提供在设计器中使用的描述文本,尤其是在“属性”窗口的底部。

Microsoft 自己的 Windows 窗体库中充斥着这两者。

我不知道有什么方法可以合并这两者,但请考虑您是否真的希望它们完全相同。在我自己的类库中,我经常希望在设计器中显示与我希望包含在技术文档中的信息略有不同。

作为一个简单的例子,我可能想在设计器中明确表示某些版本的 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; }

关于c# - DescriptionAttribute 与 <summary> 标签的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5540495/

28 4 0