有没有办法在 C# 中设置可供不同类和函数访问的变量?

sor*_*419 3 c# variables class function visual-studio-2010

我正在使用 C# 在 Visual Studio 2010 中创建一个项目。

我的 main ( program.cs) 和几个不同的类位于不同的文件 ( class1.cs class2.cs class3.cs) 中,每个类都有自己的功能。

program.cs我想知道是否有一种方法可以设置可以从每个不同的类文件访问的变量(例如在 中)?

为了减少混乱,我将通过示例进行解释。

program.cs是创建文件。每个类都会创建不同类型的文件(txt、xml、xls 等)。我想指定保存文件的路径program.cs,所以如果我想更改路径,只需更改一处即可。

我想设置一个可从每个类文件访问的变量,而不是将“路径”变量传递到函数中。

有办法这样做吗?

Ste*_*eve 5

这种问题(应用程序执行期间需要的只读值)可以通过主项目的设置属性编辑器添加新设置来解决。

  • 右键单击您的项目
  • 选择属性
  • 选择“设置”选项卡(如果需要,创建文件)
  • 输入您的设置的名称 (IE PathToExport)
  • 选择“类型字符串”、“范围应用程序”并输入您的初始配置路径

现在您可以使用以下命令从类中的任何位置访问该值

string path = Properties.Settings.Default.PathToExport;
Run Code Online (Sandbox Code Playgroud)

当然,总是可以在类内部定义静态属性并读取该值,但在程序的可执行文件中写入固定路径是一个非常糟糕的主意。如果您想更改它,您需要重新编译并重新分发应用程序。使用 exe.config 文件,您可以更清晰地分离代码和配置。(并且将路径更改为全新的服务器位置只需要修改 exe.config 文件)