Создание анонимных типов записей во время выполнения - PullRequest
2 голосов
/ 02 марта 2020

F # обеспечивает отражение того, что вы, помимо прочего, можете генерировать новые значения типов функций, кортежей, записей и объединений во время выполнения. Однако в этом модуле я не вижу ничего, относящегося к анонимным записям.

Возможно ли создавать новые значения анонимных типов записей во время выполнения в F #?

1 Ответ

4 голосов
/ 03 марта 2020

Метод FSharp.Reflection.FSharpValue.MakeRecord работает как для анонимных записей, так и для именных:

let x = {| a = "b"; c = 42 |}
ley y = FSharp.Reflection.FSharpValue.MakeRecord( x.GetType(), [| "foo"; 5 |] )

> val it : obj = {a = "foo"; c = 5;}

Или я неправильно понял вопрос?

...