C# 錯誤: "需要物件參考才能存取非靜態欄位、方法或屬性"
這段 C# 程式碼中,Main()
方法內的 Population[i].bits = GetRandomBits();
行出現錯誤,錯誤訊息為 "需要物件參考才能存取非靜態欄位、方法或屬性 'VM_Placement.Program.GetRandomBits()'"。 此錯誤表明,正在從靜態 Main()
方法呼叫非靜態方法 GetRandomBits()
。
在 C# 中,靜態方法與類別相關聯,而不是與類別的特定實例相關聯,而非靜態方法與類別的實例相關聯。這意味著非靜態方法需要類別的實例才能呼叫。
針對此特定情況,有兩種解決方案可以解決此錯誤:
<code class="language-csharp">Program p = new Program(); p.GetRandomBits();</code>
透過建立 Program 類別的實例,可以呼叫該實例上的 GetRandomBits()
,因為它現在是一個實例方法。
<code class="language-csharp">public static string GetRandomBits() { // ... }</code>
將 GetRandomBits()
設為靜態,允許在靜態 Main()
方法中直接呼叫它,而無需類別的實例。
以上是為什麼我的 C# 程式碼拋出「非靜態欄位、方法或屬性需要物件參考」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!