我有我的程序使用...各种常数string的,int的,double的,等...什么是存储它们的最好方法?我不认为我想要一个Enum,因为数据不是所有相同的类型,我想手动设置每个值.我应该把它们全部存放在一个空的课堂上吗?或者,还有更好的方法?
Dan*_*ite 127
您可能将它们放在静态类中,具有静态只读属性.
public static class Routes
{
public static string SignUp => "signup";
}
Run Code Online (Sandbox Code Playgroud)
Chr*_*sic 26
IMO使用一个充满常量的类对常量很好.如果他们偶尔会改变,我建议在配置和ConfigurationManager类中使用AppSettings.
当我有"常量"实际从AppSettings或类似的东西中拉入时,我仍然会有一个"常量"类来包装配置管理器的读数.拥有Constants.SomeModule.Setting而不是直接诉诸ConfigurationManager.AppSettings["SomeModule/Setting"]任何想要消耗所述设定值的地方总是更有意义.
此设置的加分点,因为SomeModule可能是Constants文件中的嵌套类,您可以轻松地使用依赖注入SomeModule直接注入依赖它的类.你甚至SomeModule可以ISomeModuleConfiguration在你的消费代码中提取一个接口,然后创建一个依赖性,这将允许你将依赖关系解耦到Constants文件,甚至可能使测试更容易,特别是如果这些设置来自AppSettings和您使用配置转换更改它们,因为设置是特定于环境的.
Mar*_*lin 18
我喜欢做的是以下内容(但请务必阅读到最后使用正确类型的常量):
internal static class ColumnKeys
{
internal const string Date = "Date";
internal const string Value = "Value";
...
}
Run Code Online (Sandbox Code Playgroud)
阅读本文以了解为什么const可能不是您想要的.可能的常量类型是:
const领域.如果将来值可能会更改,请不要跨程序集(public或protected)使用,因为该值将在编译时在其他程序集中进行硬编码.如果更改该值,则其他程序集将使用旧值,直到重新编译它们为止.static readonly 领域static 财产没有 setPhi*_*ace 11
这是IMO的最佳方式.不需要属性或只读:
public static class Constants
{
public const string SomeConstant = "Some value";
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
87956 次 |
| 最近记录: |