Bru*_*ant 21 .net c# resources app-config
在几乎每个项目中,我都无法决定如何处理某些全局常量值.在过去的日子里,当我编写没有使用dll的C++程序时,很容易.只需创建和.h文件,其中包含一些const为我的项目描述某些常量值的文件.然后我把每个文件都包括在内,并且ta-da!有效.清洁,尊重DRY原则并且很简单.
现在我的项目是C#.Net,它为我提供了大量的选项来解决这个问题.据我所知:
创建一个程序集,其唯一目的是为项目保存常量值.然后,每个其他大会都应参考这一个.我尊重DRY和KISS,因为添加引用很简单.这里的主要问题是我需要重新编译整个源代码来更新这些值.
使用app.config文件并让所有其他程序集在初始化期间检索常量.所以我添加了为了访问全局值而必须初始化所有内容的开销.更灵活但也更痛苦.
使用资源.我认为它与app.config相同.
所以,我知道有一个更好的方法来做这个常量声明.但我不知道,到目前为止,一直无法找到如何做到这一点.你能帮忙吗?我有糖果!
谢谢大家
呃,假设你的常量不是很大,你应该只能public const在你选择的类中声明它们:
namespace MyProject
{
public class Awesome
{
public const int SomewhatAwesome = 1;
public const int ExtraAwesome = 2;
/* etc */
}
}
Run Code Online (Sandbox Code Playgroud)
您应该将您的const成员包含在与它们相关的类中,即,如果SomewhatAwesome并且ExtraAwesome是由Awesome类使用,那么它们应该是在该类中声明的常量.不要仅仅为了保持常量值而创建额外的程序集,也不要为常量创建专用的静态类或命名空间,除非没有其他任何东西将常量组合在一起.
该app.config文件用于最终用户在运行时可以更改的设置.不要在该文件中放置不应更改的常量.资源用于"大"对象,例如文本文件和图像,这些对象可能是乏味的或不可能包含为文字类成员.不要在资源中放入简单的东西,如整数和短字符串.
如果您希望这些值能够在运行时更改,请使用 app.config。
如果您希望它们在运行时修复,那么每次您想要更改它们时,您都必须(并且想要阻止用户乱搞它们)重新编译,因此请使用适合您的语言的任何内容。对于 C# 来说,是某种 GlobalValues 类/程序集。
不要将资源文件用于全局值或设置,除非您想要将一组值作为一个组进行交换(例如,为不同的语言进行编译时)。
| 归档时间: |
|
| 查看次数: |
11070 次 |
| 最近记录: |