首頁 >後端開發 >C++ >為什麼我在 C# 中收到「非靜態欄位、方法或屬性需要物件參考」錯誤?

為什麼我在 C# 中收到「非靜態欄位、方法或屬性需要物件參考」錯誤?

Linda Hamilton
Linda Hamilton原創
2025-01-22 05:26:09154瀏覽

Why Am I Getting a

C# 錯誤:「需要物件參考才能存取非靜態欄位、方法或屬性」

解釋:

此錯誤發生在嘗試從靜態上下文存取非靜態變數、方法或屬性時。在本例中,宣告為靜態的「Main」方法試圖呼叫非靜態方法「GetRandomBits()」。

具體問題:

在提供的程式碼中,「GetRandomBits()」方法在「Program」類別中定義為非靜態方法。但是,「Main」方法在同一個類別中宣告為靜態的。這種不匹配導致了錯誤。

解:

有兩種可能的解決方案可以解決此問題:

  1. 建立 Program 類別的實例:

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

    <code class="language-csharp">Program p = new Program();
    string bits = p.GetRandomBits();</code>
  2. 將 "GetRandomBits()" 設定為靜態:

    或者,您可以修改「GetRandomBits()」方法的宣告使其成為靜態方法。這樣就可以直接從靜態“Main”方法呼叫它。

    <code class="language-csharp">public static string GetRandomBits()
    {
        // ... 方法实现
    }</code>

以上是為什麼我在 C# 中收到「非靜態欄位、方法或屬性需要物件參考」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn