[英]An object reference is required for the non-static field, method, or property
我的asp.net mvc類中具有以下方法:
public class Crud
{
Repository repository = new Repository();
List<string> activeTech = repository.getAll().ToList();
但我收到以下異常:-
Error 1 An object reference is required for the non-static field, method, or property
但是,如果按如下所示將static添加到我的代碼中,則該異常將被刪除:-
public class Crud {
static Repository repository = new Repository();
List<string> activeTech = repository.getAll().ToList();
那么任何人都可以對此提出建議嗎?
謝謝
類中字段的初始化直接在構造函數的代碼執行之前完成。 目前,尚無this
參考。
因此,字段初始化是在靜態上下文中執行的,不允許您訪問該類的任何其他實例成員。
為了解決這個問題,您可以在構造函數內部移動activeTech
的初始化:
public class CRUD
{
Repository repository = new Repository();
List<string> activeTech;
public CRUD()
{
activeTech = repository.getAll().ToList();
}
}
因為在執行構造函數代碼時, this
引用可訪問,並且您不再處於靜態上下文中。
請注意,類名CRUD
與為類名建議使用UpperCamelCase( Crud
)的C#命名約定不匹配。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.