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
}
}