2012-04-25 9 views
2

可能性の重複:
default value for a static propertyC#でクラスの静的なデフォルトプロパティにデフォルト値を割り当てる方法は?

私はクラスの通常のデフォルトプロパティのデフォルト値を割り当てることができています。 しかし、私は以下のようなクラスの静的なデフォルトプロパティのデフォルト値を割り当てることができないです: - 私はAppInstance.AppTypeを呼び出すとき

public class AppInstance 
{ 
    [DefaultValue(25)] 
    public static int AppType { get; set; } 
} 

、それは常に0の代わりに、25なぜを返しますか?プライベート変数宣言を使用せずにどのように解決できますか?

+1

[静的]コンストラクタでそれを割り当てます。 – Servy

+0

http://stackoverflow.com/questions/2596344/default-value-for-a-static-property – LaGrandMere

+3

DefaultValueはビジュアルコンポーネントの属性です。通常はVisual Studioデザイナーが使用します –

答えて

5

DefaultValueAttributeは唯一の値は、フォームまたはコントロールのプロパティのデフォルト値ですWinFormsデザイナーに指示します。プロパティーに別の値がある場合、この値はプロパティー・ウィンドウに太字のと表示されます。しかし、実際には値を設定しません。

あなたはそれを私は、このシナリオでget; set;を使用して作成される静的メンバのための使用が表示されない静的コンストラクタ

static MyClass() 
{ 
    AppType = 25; 
} 
2

静的コンストラクタを使用できます。最初のインスタンスが作成される前、または静的メンバーが参照される前に、クラスを自動的に初期化するために自動的に呼び出されます。

public class AppInstance 
{ 
    public static int AppType { get; set; } 

    static AppInstance() 
    { 
     AppType = 25; 
    } 
} 
+0

誰にでもこれを落として、何が間違っているのか心配しています私の答えは? –

+0

デフォルト値属性の使用に関する問題についてはコメントしていません。これは実際にOPを混乱させるものでした。 – Servy

0

に値を割り当てる必要があります。多分誰かができますか?

だから、私はおそらくこれを行うだろう:

public class AppInstance 
{ 
    public static int AppType = 25; 
} 
+0

uh、downvoteでドライブする。説明してください。 –

関連する問題