相关疑难解决方法(0)

无法访问非静态字段

我无法弄清楚为什么它在寻找静态的东西:

public class DatabaseBase
{
    private readonly string connectionString;

    public DatabaseBase(string connectionString)
    {
        this.connectionString = connectionString;
    }
}

public class MyDB : DatabaseBase
{
    readonly string connectionString = ConfigurationManager.AppSettings["MyConnectionString"];

    public MyDB() : base(connectionString)
    {          
    }
}
Run Code Online (Sandbox Code Playgroud)

我得到了无法在静态上下文中访问非静态字段'connectionString'.我在基础数据库类中看不到任何静态,为什么?

这是另一个我们做同样事情的例子:

partial class Database : DatabaseBase
{
    static string DbConnectionString
    {
        get
        {
            if (dbConnectionString == null)
                dbConnectionString = 
                    ConfigurationManager.AppSettings["MyConnectionString"];
            return dbConnectionString;
        }
    }
    public Database() :base(DbConnectionString)
    {
    }
Run Code Online (Sandbox Code Playgroud)

好吧,为什么它必须是连接字符串传递的静态字符串?

c#

8
推荐指数
2
解决办法
7269
查看次数

标签 统计

c# ×1