Кто-нибудь использовал Ninject в коде F #? любой намек оценивается.
Ninject и F #?
Ответ 1
Я не думаю, что что-то особенное в использовании Ninject в F #. Пример Ninject Samurai/IWeapon/Sword выглядит так:
open Ninject
type IWeapon =
abstract Hit: string -> unit
type Sword() =
interface IWeapon with
member x.Hit s = printfn "Slash %s" s
type Samurai(weapon: IWeapon) =
member x.Attack target =
weapon.Hit target
[<EntryPoint>]
let main args =
use kernel = new StandardKernel()
kernel.Bind<IWeapon>().To<Sword>() |> ignore
kernel.Bind<Samurai>().ToSelf() |> ignore
let samurai = kernel.Get<Samurai>()
samurai.Attack "enemy"
0
Функции F #, такие как неявные конструкторы и вывод типа, делают код довольно кратким.