请帮我命名此属性(C#)

请帮我命名此属性(C#),c#,naming-conventions,naming,C#,Naming Conventions,Naming,假设我创建了这个类: public class ColoredPolygon { public Point[] Vertices { get; set; } public Brush Brush { get; set; } } 在VisualStudio内部,不难看出哪个“笔刷”是类,哪个是属性。但是,有些事情告诉我,以类命名属性并不是最佳做法。你会如何命名这家酒店 更新关于命名的另一个问题:如何命名数组?在复数或单数< 关于 frase< //> > 以及 fr

假设我创建了这个类:

 public class ColoredPolygon
 {
     public Point[] Vertices { get; set; }
     public Brush Brush { get; set; }
 }
在VisualStudio内部,不难看出哪个“笔刷”是类,哪个是属性。但是,有些事情告诉我,以类命名属性并不是最佳做法。你会如何命名这家酒店


更新关于命名的另一个问题:如何命名数组?在复数或单数<

关于<代码> frase< //> >

以及<代码> fras-b/c> >,在另一个答案中提到,您可以考虑添加一个方法来设置填充<代码>颜色< /代码>,这样用户就不必构建一个笔刷来设置一个实色填充。

FILLASH是一个很好的描述性名称。(我投了更高的票)但是,老实说,在它真正成为问题之前,不要担心它。在您的情况下,它可能不是最好的名称,但如果它最好的名称,我会保留它,直到上下文另有规定。我有几个例子,其中类的名称和属性是相同的,但因为属性通常由变量名(或
this.
),我不太担心它

我觉得以下内容可读性很强:

var poly = new ColoredPolygon();
poly.Brush = Brushes.Green;

我称之为“画笔”

考虑给予一个相同的属性 名称作为其类型

(在中)。语句后面的文本建议对枚举类型的属性执行此操作,但您可以在.NET framework中的其他类型的对象中找到大量此方法的示例,例如
画笔
画笔
类的
颜色
属性


无需担心,如果
Brush
是您物业的描述性名称,您应该使用该名称,特别是因为它甚至会遵循您在框架内看到的命名模式。

关于Fredrik的建议(Brush)还有MS的命名建议,你可以考虑给一个属性和它的类型相同的名字,但是你不能总是这样做。如果你在一个类中定义了一个名为“代码> >某物< /Cube >的公共枚举,那么该类也不能有一个名为<代码>属性 >

的属性。
你可以有一个名为
Brush
的属性,大概是因为
Brush
是在不同的名称空间/类中定义的,然后编译器就足够聪明了,可以知道你指的是哪个
Brush

很好的灵感。我改为填充。“填充”听起来像是在甜甜圈里。FillBrush比Filling更好。数组->复数;Guitars[]表示吉他的集合;更多intuitive@Dreas你的语法不清楚,你的意思是“吉他[]吉他”。@Trillian:是的,你是对的;应该是吉他[]吉他;很抱歉第一条评论中的输入错误。我想当你开始在你的类ColoredPolygon的方法中使用类Brush的静态成员时,可能很难阅读。以前我从来没有担心过。但是由于auto属性,在ColoredPolygon中没有你使用的小写变量Brush。现在当我定义Brush笔刷然后intellisense将为函数equals列出两个选项(一个静态选项不是)。当您选择静态选项时,“笔刷”将变为彩色,这应该表明它。但它不是理想的。