簡體   English   中英

問題“非靜態字段,方法或屬性需要對象引用” c#

[英]Issue with “An object reference is required for the non-static field, method, or property” c#

我正在嘗試創建一個具有單個屬性的類,該類可以在我的應用程序中全局引用以存儲FB訪問令牌。 下面的代碼是到目前為止我得到的;

public static class FBAccessTokenClass
{
        private string _accessToken = "";

        public static string FBAccessToken
    {
        get { return _accessToken; }
        set { _accessToken = value; }
    }
}

上面的代碼給我以下錯誤:

An object reference is required for the non-static field, method, or property

我是C#的新手,將不勝感激。

只需將字段static

  private static string _accessToken = "";

您的屬性FBAccessToken是靜態屬性。
_accessToken字段是非靜態的,它是一個實例字段

靜態成員不能使用實例成員。

這很有道理:靜態成員始終完全有1個副本,但實例成員的0到許多副本之間可能存在。

該錯誤非常具有描述性。 您正在嘗試從靜態方法(FBAccessToken)訪問非靜態字段(_accessToken)。

_accessToken變量屬於該類,並且在訪問它之前必須將該類實例化為一個對象。

您可以從任何可以訪問方法的地方調用FBAccessToken,因為它屬於該類型。

使_accessToken靜態,或從FBAccessToken中刪除靜態,並創建FBAccessToken類的實例。

有關靜態類和成員的更多信息,請參見http://msdn.microsoft.com/zh-cn/library/79b3xss3(v=vs.80).aspx

更改

private string _accessToken = "";

private static string _accessToken = "";

關鍵字static意味着該Veriable不綁定到FBAccessTokenClass類型的對象,而是屬於FBAccessTokenClass類型本身。

此外,您確定應該為此使用靜態類嗎?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM