C# 使用另一个文件.cs中的变量

C# 使用另一个文件.cs中的变量,c#,C#,我有一个c#winforms中的项目,其中有一个名为:PublicSettings.cs(该文件位于名为:Class的文件夹中)的文件,其中有一个变量 现在,我想使用同一项目中另一个文件中的变量 PublicSettings.cs using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace LVSetup.Class { class PublicSetti

我有一个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;
            }
        }
    }
}
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
frmLogin.cs

frmLogin.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;
            }
        }
    }
}
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;
        }
    }
}
但是
PublicSettings
中没有
ConnStr
,只有(Equals和ReferenceEquals)


这里可能有什么问题?

您需要将此字段设置为静态,以便在不创建类实例的情况下访问它。或者创建和实例。什么套件最好取决于您想要应用于该类的逻辑以及以后将如何使用它

实例方法

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;
            }
        }
    }
静态场方法

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;
            }
        }
    }

您需要将此字段设置为静态,以便在不创建类实例的情况下访问它。或者创建和实例。什么套件最好取决于您想要应用于该类的逻辑以及以后将如何使用它

实例方法

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;
            }
        }
    }
静态场方法

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;
            }
        }
    }

对于连接字符串,我要么使用配置文件(app.config),要么将属性设置为静态只读属性(因为在运行时通常没有理由更改连接字符串):


对于连接字符串,我要么使用配置文件(app.config),要么将属性设置为静态只读属性(因为在运行时通常没有理由更改连接字符串):


问题是您试图从静态变量访问非静态变量context@walther,这是一个很好的反对理由。。这不是一个很好的接近原因。@paqogomez该类不需要是公共的-默认情况下它是内部的,并且调用的类在同一个项目中。为什么人们对寻找代表如此疯狂?“我们应该包括那些试图更好地理解编程的人,而不是把他们当作代表战争的战场。”沃尔特,然后找个傻瓜来结束这场战争。更有效的关闭原因。问题是您正试图从静态数据库访问非静态变量context@walther,这是一个很好的反对理由。。这不是一个很好的接近原因。@paqogomez该类不需要是公共的-默认情况下它是内部的,并且调用的类在同一个项目中。为什么人们对寻找代表如此疯狂?“我们应该包括那些试图更好地理解编程的人,而不是把他们当作代表战争的战场。”沃尔特,然后找个傻瓜来结束这场战争。更有效的关闭原因。无法在静态属性中访问
。无法在静态属性中访问