2011-02-26 3 views
10

Est-ce que quelqu'un a utilisé Ninject dans le code F #? n'importe quel indice est apprécié.Ninject et F #?

+0

quels problèmes concrets avez-vous trouvé? –

+0

Je n'ai pas rencontré de problèmes. En fait, je veux juste utiliser Ninject dans F # mais je ne trouve aucun exemple de code/projet. En avez-vous que vous puissiez partager? Un exemple de travail simple fera – amirmonshi

Répondre

13

Je ne pense pas qu'il y ait quelque chose de particulier à propos de l'utilisation de Ninject dans F #. L'exemple Ninject de Samurai/IWeapon/épée ressemble à ceci:

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 # caractéristiques comme les constructeurs implicites et l'inférence de type font le code assez concis.

+0

Great! merci pour l'exemple – amirmonshi

+0

Merci pour cela aussi ... cherchait et trouvé cela comme une réponse exacte à ma question. – ChargerIIC