我在c#winforms中有一个项目,名为PublicSettings.cs
的文件(此文件位于名为Class的文件夹中),我有一个变量。
现在,我想在同一个项目中的另一个文件中使用该变量。
PublicSettings.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace LVSetup.Class
{
class PublicSettings
{
private string _ConnStr = "Connection";
public string ConnStr
{
get
{
return this._ConnStr;
}
set
{
this._ConnStr = value;
}
}
}
}
我想在文件中使用变量ConnStr
:frmLogin.cs
frmLogin.cs
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using LVSetup.Class;
namespace LVSetup
{
public partial class frmLogin : Form
{
public frmLogin()
{
InitializeComponent();
}
private void btnEnter_Click(object sender, EventArgs e)
{
string a = PublicSettings.ConnStr;
}
}
}
但ConnStr
内没有PublicSettings
,只有(等于和参考等值)
这里可能有什么问题?
答案 0 :(得分:5)
您需要将此字段设置为静态,以便在不创建类实例的情况下访问它。或者创建和实例。什么套件最好取决于您想要应用于此类的逻辑以及以后如何使用它。
实例方法
private void btnEnter_Click(object sender, EventArgs e)
{
var settings = new PublicSettings();
string a = settings.ConnStr;
}
静态字段方法
class PublicSettings
{
private static string _ConnStr = "Connection";
public static string ConnStr
{
get
{
return _ConnStr;
}
set
{
_ConnStr = value;
}
}
}
答案 1 :(得分:1)
对于连接字符串,我要么使用配置文件(app.config),要么将属性设置为静态只读属性(因为在运行时通常没有理由更改连接字符串):
class PublicSettings
{
public static string ConnStr
{
get
{
return "Connection";
}
}
}