2009-07-04 13 views
1

私のDLL内の定数のリストを提供したいと思います。C#で文字列の定数静的配列を作成するには?

使用例:

MyDLL.AddHouse(HouseName, MyDll.HOUSETYPES.Big) 
MyDLL.AddHouse(HouseName, MyDll.HOUSETYPES.Small) 

が試み:

public static readonly string[] HOUSETYPES = 
{ 
    "Big", "Small" 
}; 

しかし、私だけを取得している:

MyDLL.AddHouse(HouseName, MyDll.HOUSETYPES.ToString()) 

任意のアイデア?ありがとう。

+0

列挙型を使用しない理由は何ですか? –

答えて

5

列挙型を使用してみてください。 C#ではこれが最善の選択肢です。

列挙型が厳密に型付けされているため、APIを使用して文字列を受け取る代わりに、APIは列挙型の値を取ります。

public enum HouseTypes 
{ 
    Big, 
    Small 
} 
MyDll.Function(HouseTypes Option) 
{ 
} 

その後、FYIコーディングスタイルとしてC#ですべて大文字は、定数のみのために予約されている列挙型

{ 
    MyDll.Function(HouseTypes.Big) 
} 

を経由して、このコードを呼び出すことができます。

+1

私はすべてのキャップが定数の場合でも推奨されるとは思わない。 – SolutionYogi

+1

正しい - マイクロソフトのガイドラインによれば、すべての頭文字をC#で使用しないでください。 http://social.msdn.microsoft.com/Forums/en/csharpgeneral/thread/f75d6cb4-084f-4f2a-95c0-6d7f1b67c978 – csharpforevermore

4
public static class HouseTypes 
{ 
    public const string Big = "Big"; 
    public const string Small = "Small"; 
} 

.NETの名前付け基準に従ってクラスと変数を命名することをお勧めします。例えば。クラスはHouseTypes(Pascal Case)と呼ばれ、HOUSETYPES(Upper case)では呼び出されません。

関連する問題