Я вижу, что если я создаю новую анонимную запись, например.
let myRecord = {| SomeInteger = 5 |}
, то, если она подвергается воздействию C #, тогда я могу указать на нее
var someInteger = myRecord.SomeInteger;
Как насчети наоборот, если у меня есть функция F #, скажем:
let unwrap (record : {| SomeInteger : int |}) = record.SomeInteger
и она доступна для C #, как я могу создать аргумент для этой функции из C # и вызвать ее?Я наивно пытался просто разместить там анонимный тип C #, т.е.
var unwrapped = unwrap(new { SomeInteger = 5 });
, но это не скомпилировалось.Я отмечаю, что в RFC для функции сказано, что "Функция должна обеспечивать совместимость с анонимными объектами C # (из C # 3.0)" , но конкретно не указано, каким образом.Это поддерживается?