C# 属性和私有变量是否可以有一个注释

C# 属性和私有变量是否可以有一个注释,c#,properties,comments,C#,Properties,Comments,大家好,我的问题很简单 /// <summary> /// a description here. for internal use /// </summary> private A _Owner; /// <summary> /// Same description also here. for outside use /// </summary> public A Owner { get { return _Owner; } s

大家好,我的问题很简单

/// <summary>
/// a description here. for internal use
/// </summary>
private A _Owner;
/// <summary>
/// Same description also here. for outside use
/// </summary>
public A Owner
{
    get { return _Owner; }
    set { _Owner = value; }
}
//
///这里有一个描述。内服
/// 
私人业主;
/// 
///这里也有同样的描述。外用
/// 
公有
{
获取{return\u Owner;}
设置{u Owner=value;}
}

有没有办法避免同一条评论写两遍?这真是讨厌

如果只是背景场的直视图,只需使用auto属性以避免重复

/// <summary>
/// just use an autoprop
/// </summary>
public A Owner
{
    get;set;
}
//
///用自动旋转器就行了
/// 
公有
{
获得;设置;
}
首先,请注意,私人成员不需要intellisense注释,包括字段。所以你可以删除第一条评论。如果该字段的含义在名称中不明显,则表示您没有适当地命名它

其次,对于大多数简单属性,可以完全删除显式字段声明

/// <summary>a description here</summary>
public A Owner {get;set;}
///这里有一个描述
公共所有者{get;set;}
使用,然后可以为属性指定单个XML注释

/// <summary>
/// Same description also here. for outside use
/// </summary>
public A Owner
{
get; set;
}
//
///这里也有同样的描述。外用
/// 
公有
{
获得;设置;
}
但是,如果要使用get或set中的private字段执行某些操作,则必须指定两次XML注释


还有一件事,您可能必须仅为属性指定XML注释,因为该注释在类之外公开,而不是在公共字段之外

不是。但是注释属性就足够了,因为私有成员不会显示在类之外。所以只需注释您的属性。

不,这是无法避免的,因为Intelissense将书面注释链接到找到的代码工件。在您的情况下,您有两个:

  • 一个是
    属性
  • 另一个是
    字段

所以在你的情况下,你需要写两次,或者,正如斯宾德所建议的,使用auto属性并定义它一次。

是否有必要为您的私有字段编写注释?在这种情况下,我通常省略对私有字段的描述。我总是只对公共字段进行注释。@JeroenMoonen这个类是一个更大的游戏引擎函数的外观实现,包括属性和私有属性的数量变量很大。这就是为什么我还需要私有变量的注释。例如,有一个名为_renderDelta的私有变量要使用这个私有变量,您需要知道它是毫秒还是秒,如果有注释,它将非常有用。我也讨厌magicnumbers没有评论为什么会这样。回答得好。感谢您的指导,我选择了当时得票最多的答案。似乎没有其他简单的方法,然后使用自动实现的属性。亲爱的马克。我很同意你的命名约定。请考虑MAGICE数字的情况,以及在哪里你需要一个私人领域的额外信息,如我在我的问题的评论中所解释的。这是一种需要私人提交评论信息的有效且可接受的情况。