次のようなクラスがあります。
public class Constants
{
private static readonly Lazy<Constants> lazy =
new Lazy<Constants>(() => new Constants());
public static Constants Instance { get { return lazy.Value; } }
Dictionary<string, List<string>> validApplicationTypes;
public Dictionary<string, List<string>> ValidApplicationTypes
{
get { return validApplicationTypes; }
}
private Constants()
{
// validApplicationTypes is populated from a DB table
}
}
外では、次のように有効なアプリケーション タイプにアクセスします。
Constants.Instance.ValidApplicationTypes
このクラスに一連の文字列定数を追加する最良の方法は何でしょうか? 次のように追加する必要があります:
private static readonly string message= "SomeMessage";
public static string Message
{
get { return message; }
}
次のようにアクセスします。Constants.Message
または、次のように追加する必要があります。
private string message= "SomeMessage";
public string Message
{
get { return message; }
}
次のようにアクセスします。Constants.Instance.Message
シングルトン内でそれらを作成し、外部からアクセスするこれら2つの方法に違いはありますか?