Чтобы инициализировать ее в нужной точке, я бы создал статическую приватную функцию, возвращающую словарь с правильными значениями, и использовал бы ее в качестве инициализатора члена статического поля в классе:
class Foo
{
static Dictionary<string, string> makeDictionary()
{
return new Dictionary<string, string>
{
{"hello", "mum"},
};
}
static Dictionary<string, string> theDictionary = makeDictionary();
}
Что касается того, как написать эту функцию, это действительно зависит от формы ваших данных.Этот стиль статического инициализатора, вероятно, должен быть вашим первым выбором, если только нет причины, по которой он вам не подходит.Поскольку вы пишете функцию, вы всегда можете добавить дополнительную логику, если она вам нужна.