C# 錯誤:「需要物件參考才能存取非靜態欄位、方法或屬性」
解釋:
此錯誤發生在嘗試從靜態上下文存取非靜態變數、方法或屬性時。在本例中,宣告為靜態的「Main」方法試圖呼叫非靜態方法「GetRandomBits()」。
具體問題:
在提供的程式碼中,「GetRandomBits()」方法在「Program」類別中定義為非靜態方法。但是,「Main」方法在同一個類別中宣告為靜態的。這種不匹配導致了錯誤。
解:
有兩種可能的解決方案可以解決此問題:
建立 Program 類別的實例:
在「Main」方法中,建立「Program」類別的實例,然後在該實例上呼叫「GetRandomBits()」方法。
<code class="language-csharp">Program p = new Program(); string bits = p.GetRandomBits();</code>
將 "GetRandomBits()" 設定為靜態:
或者,您可以修改「GetRandomBits()」方法的宣告使其成為靜態方法。這樣就可以直接從靜態“Main”方法呼叫它。
<code class="language-csharp">public static string GetRandomBits() { // ... 方法实现 }</code>
以上是為什麼我在 C# 中收到「非靜態欄位、方法或屬性需要物件參考」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!