Делегаты действий в F#
В примерах библиотеки Giraffe я заметил следующее:
[<EntryPoint>]
let main _ =
WebHostBuilder()
.UseKestrel()
.Configure(Action<IApplicationBuilder> configureApp)
.ConfigureServices(configureServices)
.Build()
.Run()
0
Хотя я понимаю большую часть этого, мне неясно, Configure(Action<IApplicationBuilder> configureApp)
- является configureApp
быть брошенным в Action<IApplicationBuilder>
?
ОБНОВИТЬ
Насколько я понимаю вызовы конструктора, согласно документации Microsoft:
Вы инициализируете свои объекты вместе с аргументами конструктора, перечисляя аргументы по порядку и разделяя их запятыми и заключая в круглые скобки, или используя именованные аргументы и значения в круглых скобках.
1 ответ
Решение
Он создает новый делегат, используя конструктор делегата как функцию F#. Эквивалент C# будет:
.Configure(new Action<IApplicationBuilder>(configureApp))