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

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

Linda Hamilton
發布: 2025-01-22 05:26:09
原創
209 人瀏覽過

Why Am I Getting a

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

解釋:

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

具體問題:

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

解:

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

  1. 建立 Program 類別的實例:

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

    Program p = new Program();
    string bits = p.GetRandomBits();
    登入後複製
  2. 將 "GetRandomBits()" 設定為靜態:

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

    public static string GetRandomBits()
    {
        // ... 方法实现
    }
    登入後複製

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

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