使用嵌套类作为常量?

17 c# class-design constants nested-class

使用嵌套类对常量进行分组有什么问题?

像这样:

public static class Constants
{
    public static class CategoryA
    {
        public const string ValueX = "CatA_X";
        public const string ValueY = "CatA_Y";
    }
    public static class CategoryB
    {
        public const string ValueX = "CatB_X";
        public const string ValueY = "CatB_Y";
    }
}
Run Code Online (Sandbox Code Playgroud)

像这样使用:

Console.WriteLine(Constants.CategoryA.ValueY);
Console.WriteLine(Constants.CategoryB.ValueX);
Run Code Online (Sandbox Code Playgroud)

你也可以使"常数" - 类偏...

Hen*_*man 18

针对公共嵌套类有一些准则(针对fx 4.5更新):

?当嵌套类型与其外部类型之间的关系需要成员可访问性语义时,请使用嵌套类型.

X避免公开暴露嵌套类型.唯一的例外是,嵌套类型的变量只需要在极少数情况下声明,例如子类化或其他高级自定义方案.

如果类型可能在包含类型之外引用,则不要使用嵌套类型.

我认为你的例子匹配第一点(即:你很好).