Windows.Forms中的全局变量

时间:2010-09-13 19:47:59

标签: winforms global-variables

这似乎是一个愚蠢的主题,但我正在尝试学习一些好的编码实践。

我正在创建一个windows.forms应用程序,我已经达到了一个点,我的部分Form类有7个全局变量(及其相应的属性)声明和使用 - 仅举几例:一个确定应用程序是否已注册,我需要在许多事件中访问的Settings对象,Logger对象等。

这是错误的编码吗?我的意思是,可以声明一堆全局变量并在各种事件处理程序/方法中使用它们,还是有更好的实践,我应该重新考虑我的代码,以避免使用它们?

我在这个应用程序中还有很多工作要做,所以现在处于第一阶段,而且我的编码风格看起来最终会有超过20个全局变量。

1 个答案:

答案 0 :(得分:1)

您可以考虑添加App.config文件并将其用于全局设置(例如记录器设置等)。这种方法的一个优点是您可以更改这些设置并重新启动应用程序而无需更改代码。

您可以在App.config中添加键/值对:

<appSettings>
  <add key="YourKey" value="YourValue"/>
</appSettings>

并在代码中访问它们:

string yourValue = ConfigurationManager.AppSettings["YourKey"];

执行正确的解析(例如Int32.TryParse(..)),您可以存储除字符串之外的数据。