2011-12-04 106 views
-1

FBアクセストークンを格納するためにアプリケーション内でグローバルに参照できる単一のプロパティを持つクラスを作成しようとしています。以下のコードは私がこれまでに得たものです。「静的でないフィールド、メソッド、またはプロパティにオブジェクト参照が必要です」という問題が発生するC#

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#にかなり新しいですし、任意の助けいただければ幸いです。

答えて

0

変更

private string _accessToken = ""; 

private static string _accessToken = ""; 

にstaticキーワードはveriableがタイプFBAc​​cessTokenClassのオブジェクトにバインドされていないことを意味するが、むしろFBAccessTokenClassタイプ自体に属します。

また、このために静的なクラスを使用する必要がありますか?

+0

私は100%確信していません、私は今この部分を見直しています。 – MAO

4

あまりにもフィールドstaticします

private static string _accessToken = ""; 

あなたの財産FBAccessTokenは静的プロパティです。
フィールド_accessTokenは非静的で、インスタンスフィールドです。

スタティックメンバーはインスタンスメンバーを使用できません。

これは多くの意味があります。常に静的メンバーのコピーが1つありますが、インスタンスメンバーの0から多数のコピーの間に存在することがあります。

1

エラーは非常に説明的です。静的メソッド(FBAccessToken)から非静的フィールド(_accessToken)にアクセスしようとしています。

_accessToken変数はクラスに属しており、クラスにアクセスするにはオブジェクトとしてインスタンス化する必要があります。

FBAccessTokenは、その型に属するメソッドにアクセスできるどこからでも呼び出すことができます。

_accessTokenを静的にするか、FBAccessTokenから静的メソッドを削除し、FBAccessTokenクラスのインスタンスを作成します。

静的なクラスとメンバの詳細については、http://msdn.microsoft.com/en-us/library/79b3xss3(v=vs.80).aspxを参照してください。

関連する問題