【发布时间】:2011-10-06 08:58:31
【问题描述】:
在所有应用程序中,总会使用一些常量值。
我不喜欢在我的应用程序中的每个代码中硬编码这些值,因为这会显着降低可维护性。
我有两个选择:
-
在目标类中创建一个内部常量类并添加公共常量值,例如
内部静态类常量 { 公共常量字符串 IdAttribute = "id"; }
或
- 创建一个资源文件 (.resx) 并将我的常量值和公式存储在其中。
我在这里的应用程序中使用了第二种方法。我在使用资源文件时遇到的一个问题是我无法对它们使用 .NET 4.0 可选参数功能。
例如以下不起作用:
public void DoSomething(string id = Resources.Constants.Id)
{
// ..
}
错误是在运行时没有确定Id的值。
基本上,您会使用并推荐哪种方式来管理每个类的常量?为什么?
我目前的方法是,如果我有应该只在一个类中使用的常量,我会在该类中创建一个静态常量类。如果我的常量要在多个类或项目中使用,我会将它们放在一个资源文件中,例如PageUrls.resx.
谢谢,
【问题讨论】:
标签: c# asp.net resources constants