在所有应用程序中,总会使用一些常量值。
我不喜欢在我的应用程序中的每个代码中硬编码这些值,因为它显着降低了可维护性。
我有两个选择:
内部静态类常量
{
公共(public)常量字符串 IdAttribute = "id";
}
或者
我在这里的应用程序中使用了第二种方法。我在使用资源文件时遇到的一个问题是我无法对它们使用 .NET 4.0 可选参数功能。
例如以下不起作用:
public void DoSomething(string id = Resources.Constants.Id)
{
// ..
}
错误是在运行时未确定 Id 的值。
基本上,您会使用并推荐哪种方式来管理每个类的常量?为什么?
我目前的方法是,如果我有只应该在一个类中使用的常量,我会在该类中创建一个静态常量类。如果我的常量要在多个类或项目中使用,我会将它们放在一个资源文件中,例如PageUrls.resx。
谢谢,
最佳答案
就我个人而言,我宁愿在它们逻辑所属的类中定义常量,类似于(比如说)DateTime.MinValue
.
然后,一般来说,公开这些常量有点“代码味道”,暗示一些可能应该以更好的方式表达的耦合。当您的代码允许时,将它们设为私有(private)(或内部)显然没有害处。
但是,有时存在全局常量。这些通常是实际配置,应该这样对待。
关于c# - 您将如何管理每个 c# 类的常量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7672137/