公共抽象类AbstractDBConnector { 私人AdServiceDB数据库;
public AdServiceDB Adapter
{
get
{
if (db == null) db = new AdServiceDB();
return db;
}
}
}
和一个继承自它的类:
public class BaseDataValidator : AbstractDBConnector
{
public static bool Check()
{
var t = Adapter.Users.Where(x=>x.Id<10).ToList(); //the error is here
return true; //example
}
}
此代码显然会生成错误:非静态字段,方法或属性需要对象引用是否可以在静态方法中使用适配器?
答案 0 :(得分:1)
只有当适配器也是static
时,您可能不希望它(但也许你这样做,我不确定确切的用例是什么,没有足够的信息)。如果方法必须为static
,则将适配器作为参数传递给方法,但您的方法似乎不应该首先static
。
编辑:请注意,对于“让static
方法开始工作,您必须同时制作Adapter
和db
static
。