1

je la classe suivante:Comment passez-vous un objet à un conteneur windsor au lieu d'un type?

public class ViewPage<TView,TPresenter> : Page 
    where TView : IView 
    where TPresenter : Presenter<TView> 
{ 
    public ViewPage() 
    { 
     if (!(this is TView)) 
      throw new Exception(String.Format("The view must be of type {0}", typeof(TView))); 

     IWindsorContainer container = new WindsorContainer(); 
     container.AddComponent("view", typeof(IView), typeof(TView)); 
     container.AddComponent("presenter", typeof(Presenter<TView>), typeof(TPresenter)); 
     TPresenter presenter = container[typeof(TPresenter)] as TPresenter; 
    } 
} 

ce qui est le code Présentateur:

public class Presenter<T> where T : IView 
{ 
    public T View { get; private set; } 

    public Presenter(T view) 
    { 
     this.View = view; 
    } 
} 

J'aimerais passer l'instance actuelle de ViewPage à TPresenter via Windsor au lieu de l'avoir instancier une nouvel objet. Est-ce possible?

Répondre

1

Check this blog. L'auteur explique la solution pour votre problème exact.

+0

L'URL n'a pas vraiment discuté de ce que je voulais, mais il faisait ce que je voulais. Merci! Pour tous ceux qui se le demandent .. Vous utilisez la méthode Resolve sur le conteneur. – sontek