C# 錯誤:"需要物件的參考才能使用非靜態欄位"
這段 C# 程式碼包含兩個類別:一個定義演算法參數,另一個實作演算法。在第二個類別的 Main
方法中,出現以下錯誤:
<code>需要对象的引用才能使用非静态字段、方法或属性 'VM_Placement.Program.GetRandomBits()'</code>
此錯誤是因為 Main
方法是靜態的,而您試圖在其中呼叫非靜態方法 GetRandomBits()
。
解:
解決此問題,您可以選擇以下兩種方法:
建立 Program 類別的實例:
在 Main
方法中,建立 Program
類別的實例,然後在該實例上呼叫 GetRandomBits()
:
<code class="language-csharp">Program p = new Program(); string bits = p.GetRandomBits();</code>
將 GetRandomBits() 方法設為靜態:
修改 GetRandomBits()
方法聲明,使其成為靜態方法:
<code class="language-csharp">public static string GetRandomBits() { ... }</code>
將方法設為靜態後,您可以直接呼叫它,而無需建立 Program
類別的實例。
以上是為什麼C#中會出現「非靜態欄位需要物件參考」的問題以及如何解決?的詳細內容。更多資訊請關注PHP中文網其他相關文章!