我无法弄清楚为什么它在寻找静态的东西:
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# ×1