В дополнение к ответу, опубликованному kvb, вы можете использовать оператор динамического вызова F # (который похож на dynamic
в C # 4.0), чтобы получить лучший синтаксис.Оператор позволяет определить значение таких выражений, как wnd?papan
.Например, вы можете указать, что это должно выполнить поиск, используя метод FindName
.Определение оператора выглядит следующим образом:
let (?) (this : Control) (prop : string) : 'T = // '
this.FindName(prop) :?> 'T
Тогда вы можете просто написать:
let rect : Rectangle = wnd?papan
Вам все равно нужно явно написать тип (Rectangle
), чтобы вывод типа F #можно использовать, но синтаксис немного удобнее.