2012-01-21 15 views
-2

次のコードでは、Field1とField2変数の違いは静的な方法でアクセスできます。C#、static with const with

public static class FieldName 
{ 
    public static const string Field1 = "Field1"; 
    public const string Field2 = "Field2"; 
} 

おかげで、
アミット

+0

これは私のためにコンパイルされません:静的マークすることができない一定の「ConsoleApplication.Program.FieldName.Field1」 – rene

答えて

4

error CS0504: The constant 'FieldName.Field1' cannot be marked static

すべての定数宣言は暗黙的に静的であり、C#仕様では静的修飾子の(冗長な)包含が禁止されています。読者が静的宣言されたものと、宣言されていないものの2つの定数を見なければならない混乱を避けるためであると信じています。

出典:http://blogs.msdn.com/b/csharpfaq/archive/2004/03/12/why-can-t-i-use-code-static-code-and-code-const-code-together.aspx

+0

はいエラーはコンパイル時にですが、コードを入力している間、それはしませんでした混乱したエラーを表示してください。 –