Я пытаюсь реплицировать код C # с тремя словарями:
Dictionary<string, float> DictionaryA = new Dictionary<string, float>();
Dictionary<string, float> DictionaryB = new Dictionary<string, float>();
Dictionary<MyEnum, Dictionary<string, float>> Dictionaries
= new Dictionary<MyEnum, Dictionary<string, float>>();
и в конструкторе:
Dictionaries[MyEnum.A] = DictionaryA
Dictionaries[MyEnum.B] = DictionaryB
, поэтому в F # я делаю это:
member val private DictionaryA = new Dictionary<string, float>()
member val private DictionaryB = new Dictionary<string, float>()
но тогда в конструкторе это выглядит так, как будто 'this' недоступно:
do
this.Dictionaries.Add(MyEnum.A, this.DictionaryA) |> ignore
this.Dictionaries.Add(MyEnum.B, this.DictionaryB) |> ignore
не будет работать.
как я могу инициализировать этот третийсловарь