桌面应用程序C#全局变量
桌面应用程序 C# 紧凑框架 一个解决方案中的2个项目 主项目使用DataAccess项目(参考),因为与数据库相关的所有内容都在DataAccess项目中 我实际上正在连接两个不同的数据库 如何创建一个可从两个项目中使用的“全局”变量?(无需添加引用-我不能这样做,因为它是循环引用) 在web中,我有(数据访问部分): 从web.config获取数据(这是在web prj中):桌面应用程序C#全局变量,c#,compact-framework,web-config,global-variables,C#,Compact Framework,Web Config,Global Variables,桌面应用程序 C# 紧凑框架 一个解决方案中的2个项目 主项目使用DataAccess项目(参考),因为与数据库相关的所有内容都在DataAccess项目中 我实际上正在连接两个不同的数据库 如何创建一个可从两个项目中使用的“全局”变量?(无需添加引用-我不能这样做,因为它是循环引用) 在web中,我有(数据访问部分): 从web.config获取数据(这是在web prj中): 这看起来很有用,但我们有一个设置页面,您可以在其中更改实际的连接字符串。我不确定是否要使用这种方法。在我决定使用这
这看起来很有用,但我们有一个设置页面,您可以在其中更改实际的连接字符串。我不确定是否要使用这种方法。在我决定使用这样一个全局变量之前,我总是会仔细考虑很久,也许有更好的设计/架构可以让你解决这个问题?
无论如何,您并没有说明要针对哪个.Net版本,但下面是3.5的代码示例
在我的exe中:
private void button1_Click(object sender, EventArgs e)
{
ConfigurationManager.AppSettings.Set("TestData", "TestValue");
string testData = ClassLibrary1.Class1.GetTestData();
if (testData != null )
MessageBox.Show(testData);
else
MessageBox.Show("Not found");
}
在我的类库中:
public class Class1
{
public static string GetTestData()
{
return ConfigurationSettings.AppSettings["TestData"];
}
}
exe显然有对类库的引用。创建第三个库,为类似这样的项目使用通用代码,并添加对它的引用
public static class GlobalVariables
{
public static string SomeCommonVar { get { // read this lib app.config } }
}
我确实陈述了版本。它的CF(也添加了标签)没有在CF上尝试此操作。不同的平台支持不同的版本。您需要查找您的平台支持的版本。参考:很好,您正在优化我的代码abatishchev!=)有时候我的例子在性能方面是快速的,而不是好的。这就是我在前面的回答中提到的另一种方法的意思。如果不需要,最好不要在应用程序设置中设置内容。当然,如果它是对数据库的引用,并且是从一些设置文件或其他文件中读取的,我不会反对AppSetting,但对于共享数据,这种方法更好。
public class Class1
{
public static string GetTestData()
{
return ConfigurationSettings.AppSettings["TestData"];
}
}
public static class GlobalVariables
{
public static string SomeCommonVar { get { // read this lib app.config } }
}