![](/img/trans.png)
[英]“An object reference is required for the non-static field, method or property.” while compiling C# code at runtime
[英]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.