FilterOperators或FilterOperatorType - C#中枚举的正确命名格式

时间:2009-08-25 20:28:40

标签: c# enums naming-conventions

命名枚举器的适当(更易读)方法是什么?你会考虑:

enum FilterOperators
{
    IsEqual, 
    Contains, 
    StartsWith
}

class QueryFilter
{
    FilterOperators Operator{get;set;}
}

var filter = new QueryFilter();
filter.Operator = FilterOperators.IsEqual;

或者这是优选的

enum FilterOperatorType
{
    IsEqual, 
    Contains, 
    StartsWith
}

class QueryFilter
{
    FilterOperators Operator{get;set;}
}

var filter = new QueryFilter();
filter.Operator = FilterOperatorType.IsEqual;

此外,颜色 ColorType

4 个答案:

答案 0 :(得分:3)

IrritatedVowel.com建议如下:

  

枚举

     

基于Microsoft .NET库标准的标准

     

遵循类命名约定。做   不要在“Enum”的末尾添加“SearchOptions”   枚举名称。如果枚举   表示一组按位标志,结束   这个名字有复数。

     

为什么:此约定是一致的   使用.NET Framework很容易   读。

     

示例:

     

AcceptRejectRule(按位标志)

     

FilterOperator(正常枚举)

因此,我认为首选的选择是{{1}}。

答案 1 :(得分:2)

“框架设计指南”说:

  
      
  • 除非是位字段
  • ,否则请使用单数类型   
  • 对标志枚举(位字段)使用多种类型
  •   
  • 不要使用枚举后缀
  •   
  • 不要使用标志或标志后缀
  •   
  • 请勿使用前缀(例如ADO ...)
  •   

所以我的建议是FilterOperator

答案 2 :(得分:1)

我认为这是关于就标准达成一致意见(你可以定义自己的标准)然后坚持下去。我会说附加“Type”似乎是一个好主意,即使对于像“Color”这样简单的东西,它看起来有点傻。它确实暗示它是一个枚举,我觉得它很好。

我会说最后一个例子:)

答案 3 :(得分:0)

这是非常主观的,但首先要想到的是“颜色”让我感到很多颜色并且看起来很合适。但是,对于较小的列表,如“FilterOperatorType”,“...类型”似乎是合适的。

简而言之,如果它们很多,那么这个词的复数似乎是合适的,如果它们很少并且代表了广泛的类别,那么“......类型”似乎是合适的。