0
public abstract class AbstractDBConnector { private AdServiceDB db;C#是否可以在靜態方法中使用DB對象引用?
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
}
}
此代碼顯然生成錯誤:的對象引用是所必需的非靜態字段,方法或屬性它甚至在靜態方法中使用適配器可能會有竅門嗎?
OK,但如果我設置適配器作爲一個靜態屬性,然後(IMO)它不應該被用在一個Web項目中(在最近的情況下) – Tony 2010-07-20 18:10:06
是的,這就是爲什麼我開始說這可能是一個糟糕的主意,它會讓你回到我原來的建議,要麼讓方法不是靜態的或者將適配器傳遞給它。 – Donnie 2010-07-20 18:27:52