首頁 > 後端開發 > C++ > 為什麼C#中會出現「非靜態欄位需要物件參考」的問題以及如何解決?

為什麼C#中會出現「非靜態欄位需要物件參考」的問題以及如何解決?

Barbara Streisand
發布: 2025-01-22 05:19:10
原創
567 人瀏覽過

Why Does

C# 錯誤:"需要物件的參考才能使用非靜態欄位"

這段 C# 程式碼包含兩個類別:一個定義演算法參數,另一個實作演算法。在第二個類別的 Main 方法中,出現以下錯誤:

<code>需要对象的引用才能使用非静态字段、方法或属性 'VM_Placement.Program.GetRandomBits()'</code>
登入後複製

此錯誤是因為 Main 方法是靜態的,而您試圖在其中呼叫非靜態方法 GetRandomBits()

解:

解決此問題,您可以選擇以下兩種方法:

  1. 建立 Program 類別的實例:

    Main 方法中,建立 Program 類別的實例,然後在該實例上呼叫 GetRandomBits()

    <code class="language-csharp">Program p = new Program();
    string bits = p.GetRandomBits();</code>
    登入後複製
  2. 將 GetRandomBits() 方法設為靜態:

    修改 GetRandomBits() 方法聲明,使其成為靜態方法:

    <code class="language-csharp">public static string GetRandomBits()
    {
        ...
    }</code>
    登入後複製

將方法設為靜態後,您可以直接呼叫它,而無需建立 Program 類別的實例。

以上是為什麼C#中會出現「非靜態欄位需要物件參考」的問題以及如何解決?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板