using System; using System.Collections.Generic; using System.Linq; using System.Web; using Castle.MicroKernel.Registration; using Castle.Windsor; namespace CastelWindsorConstructeur { public interface IActeur0 { int MonObjetID { get; set; } string MonObjetPersonneNon { get; set; } string MonObjetPersonnePrenom { get; set; } } public interface IActeur1 { int MonObjetID { get; set; } string MonObjetPersonneNon { get; set; } string MonObjetPersonnePrenom { get; set; } } public class Acteur0 : IActeur0 { public int MonObjetID { get; set; } public string MonObjetPersonneNon { get; set; } public string MonObjetPersonnePrenom { get; set; } } public class Acteur1 : IActeur1 { public int MonObjetID { get; set; } public string MonObjetPersonneNon { get; set; } public string MonObjetPersonnePrenom { get; set; } } public class CastelWindsorViaConstructeur { public CastelWindsorViaConstructeur() { } public CastelWindsorViaConstructeur( IActeur0 MyActeur0, IActeur1 MyActeur1 ) { _ActeurFilm0 = MyActeur0; _ActeurFilm1 = MyActeur1; } public void Casting() { _ActeurFilm0.MonObjetID = _ActeurFilm0.GetHashCode(); _ActeurFilm0.MonObjetPersonneNon = "Connor"; _ActeurFilm0.MonObjetPersonnePrenom = "John"; _ActeurFilm1.MonObjetID = _ActeurFilm1.GetHashCode(); _ActeurFilm1.MonObjetPersonneNon = "Connor"; _ActeurFilm1.MonObjetPersonnePrenom = "Sarah"; } #region Fields private IActeur0 _ActeurFilm0; private IActeur1 _ActeurFilm1; #endregion } public class GetActeur { public GetActeur() { _container = new WindsorContainer(); _container.Register( Castle.MicroKernel.Registration.Component.For() ); _container.Register( Castle.MicroKernel.Registration.Component.For().ImplementedBy() ); _container.Register( Castle.MicroKernel.Registration.Component.For().ImplementedBy() ); _Terminator = _container.Resolve(); _Terminator.Casting(); } public void Dispose() { if (_container != null) _container.Dispose(); } #region Fields private IWindsorContainer _container; private CastelWindsorViaConstructeur _Terminator; #endregion } }