我会使用复数名称:Tokens
但是你可以考虑建立一个Token
用于保存const值的类。
这将类似于System.Windows.Media.Colors
,其中例如, Colors.Blue
返回一个System.Windows.Media.Color
实例。
public class Token
{
public Token(string value)
{
Value = value;
}
public string Value { get; private set; }
public static implicit operator string(Token token)
{
return token == null ? null : token.Value;
}
public bool Equals(string value)
{
return String.Equals(Value, value);
}
public override bool Equals(object obj)
{
var other = obj as Token;
if (other == null)
{
return false;
}
return Equals(other.Value);
}
public override int GetHashCode()
{
return Value.GetHashCode();
}
public override string ToString()
{
return Value;
}
}
public static class Tokens
{
public static readonly Token Foo = new Token("Foo");
}
class Program
{
static void Main(string[] args)
{
// You can use it as if they were string constants.
string token = Tokens.Foo;
bool areEquals = String.Equals(token, Tokens.Foo);
}
}
想一想,如果你正在创建一个类来保存扩展方法,你会给它一个单数还是复数的名字?也想想其他方法,只是持有对特定值/实例的引用。例如“颜色”。 –
对于它的价值,Windows本身似乎使用复数:[System.Windows.Media.Brushes](http://msdn.microsoft.com/en-us/library/system.windows.media.brushes.aspx) ,[System.Windows.Media.Colors](http://msdn.microsoft.com/en-us/library/system.windows.media.colors.aspx)。 –
@RaymondChen并不总是;例如'System.Drawing.Color'采取相反的方法。 - 有时WPF类似乎在命名时会出现奇怪的现象。 – BrainSlugs83