」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 為什麼我的C#代碼投擲“非靜態字段,方法或屬性需要對象引用”錯誤?

為什麼我的C#代碼投擲“非靜態字段,方法或屬性需要對象引用”錯誤?

發佈於2025-02-06
瀏覽:792

Why Does My C# Code Throw

C# 錯誤: "需要對象引用才能訪問非靜態字段、方法或屬性"

這段C# 代碼中,Main() 方法內的Population[i].bits = GetRandomBits(); 行出現錯誤,錯誤信息為"需要對象引用才能訪問非靜態字段、方法或屬性'VM_Placement.Program.GetRandomBits()'"。 此錯誤表明,正在從靜態 Main() 方法調用非靜態方法 GetRandomBits()

在 C# 中,靜態方法與類相關聯,而不是與類的特定實例相關聯,而非靜態方法與類的實例相關聯。這意味著非靜態方法需要類的實例才能調用。

針對此特定情況,有兩種解決方案可以解決此錯誤:

  • 創建 Program 類的實例:
Program p = new Program();
p.GetRandomBits();

通過創建 Program 類的實例,可以調用該實例上的 GetRandomBits(),因為它現在是一個實例方法。

  • 將 GetRandomBits() 方法設為靜態:
public static string GetRandomBits()
{
    // ...
}

GetRandomBits() 設為靜態,允許在靜態 Main() 方法中直接調用它,而無需類的實例。

最新教學 更多>

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3