2011-02-26 17 views
10

誰かがF#コードでNinjectを使用しましたか?任意のヒントが評価されます。NinjectとF#?

+0

どのような具体的な問題が見つかりましたか? –

+0

私は問題に直面していません。実際にはF#でNinjectを使用したいだけですが、サンプルコード/プロジェクトが見つかりません。あなたが共有できるものはありますか?簡単な実例では – amirmonshi

答えて

13

F#でNinjectを使用することに関して特に何もないと思います。サムライ/ IWeapon /剣のNinjectの例は次のようになります。暗黙のコンストラクタと型推論のような

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#の機能は、コードは非常に簡潔に。

+0

が素晴らしいでしょう!ありがとう、例のために – amirmonshi

+0

これもありがとう...検索し、私の質問に正確な答えとしてこれを発見した。 – ChargerIIC