C#评论技术/评论的重用

时间:2011-12-26 13:09:21

标签: c# .net visual-studio coding-style xml-documentation

我通常将一个类中的字段声明为私有字段以及从外部访问此字段的公共属性(到目前为止没有什么壮观的微笑):

private bool doILookGood;

public bool DoILookGood
{
   get { return doILookGood; }
   set { doILookGood = value; }
}

现在我想知道是否有一种优雅而有效的方式来评论这种情况,而无需两次写同样的评论。换句话说,我希望保留IDE在使用工具提示进行鼠标悬停时向我显示变量注释的功能。

到目前为止,我正在以这种方式发表评论:

/// <summary>
/// This i always true.
/// </summary>
private bool doILookGood;

/// <summary>
/// This i always true.
/// </summary>
public bool DoILookGood
{
   get { return doILookGood; }
   set { doILookGood = value; }
}

我希望得到类似的东西:

/// <summary>
/// This i always true.
/// </summary>
private bool doILookGood;

/// <summary cref="doILookGood" />
public bool DoILookGood
{
   get { return doILookGood; }
   set { doILookGood = value; }
}

我知道使用XML标记来评论私有字段并不是很有意义,因为它们没有出现在生成的文档中,但我又只想拥有(IDE内部)评论工具提示。

也许有人有线索:)

1 个答案:

答案 0 :(得分:6)

尽可能使用自动属性。这将避免在不需要时使用私人成员。

public bool DoILookGood { get; set; }

如果不可能(例如在实施INotifyPropertyChanged时),这就是我如何处理它(请注意它仅用于示例,我肯定会使用自动属性而不是下面的代码):

    /// <summary>
    /// Private member for <see cref="MyValue"/>.
    /// </summary>
    private bool myValue;

    /// <summary>
    /// Gets or sets a value indicating whether ...
    /// </summary>
    /// <value>
    ///   <c>true</c> if ...; otherwise, <c>false</c>.
    /// </value>
    public bool MyValue
    {
        get { return this.myValue; }
        set { this.myValue = value; }
    }

编辑:我还建议使用GhostDoc来节省时间(一个能够自动生成评论的插件)。