How to declare a static dictionary object inside a static class? I tried
public static class ErrorCode
{
public const IDictionary<string, string> ErrorCodeDic = new Dictionary<string, string>()
{
{ "1", "User name or password problem" }
};
}
But the compiler complains that "A const field of a reference type other than string can only be initialized with null".
If you want to declare the dictionary once and never change it then declare it as readonly:
private static readonly Dictionary<string, string> ErrorCodes
= new Dictionary<string, string>
{
{ "1", "Error One" },
{ "2", "Error Two" }
};
If you want to dictionary items to be readonly (not just the reference but also the items in the collection) then you will have to create a readonly dictionary class that implements IDictionary.
Check out ReadOnlyCollection for reference.
BTW const can only be used when declaring scalar values inline.