簡體   English   中英

非靜態字段,方法或屬性需要對象引用

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM