C# Error: A field initializer cannot reference the non-static field, method, or property

C# Error: A field initializer cannot reference the non-static field, method, or property

我要制作图书馆管理应用程序。但在开始阶段我有一个错误叫做, "A field initializer cannot reference the non-static field, method, or property 'ProjectRI.ClassesAndInterfaces.StudentClass.x'"

我 class 打电话给 'DbClass';

class DBclass
{
    private static String conString = @"server=localhost;user id=root;persistsecurityinfo=True;database=royalinstitute";

    public String ConString
    {
        get { return conString; }
        set { conString = value; }
    }
}

我的连接字符串在这个 'DbClass' 中,所以它可以很容易地改变,而且 conString 变量可以通过创建一个对象来使用。而且那个字段是封装的。

我有另一个 class 叫 'StudentClass';

class StudentClass
{
    DBclass x = new DBclass();
    MySqlConnection conn = new MySqlConnection(x.ConString);

    public void add() 
    { 
    }

    public void update()
    {
    }

    public void remove()
    {
    }
}

这个 StudentClass 中的错误。也就是说,我无法通过创建对象 'x'.

来访问 'DbClass' 中的 'conString' 字段

MySqlConnection conn = new MySqlConnection(x.ConString);

错误在行上方,"Error 1 A field initializer cannot reference the non-static field, method, or property"

请帮我解决这个问题..

class StudentClass
{
    DBclass x = new DBclass();
    MySqlConnection conn=  null;

    public StudentClass()
    {
        conn = new MySqlConnection(x.ConString);
    }

    public void add()
    {
    }

    public void update()
    {
    }

    public void remove()
    {
    }
}

使 属性 静态化:

public static String ConString
{
    get { return conString; }
    set { conString = value; }
}

将其用于:MySqlConnection conn = new MySqlConnection(DBClass.ConString);