using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using Castle.MicroKernel.Registration;

using Castle.Windsor;

namespace CastelWindsorPropriete
{
    public interface IActeur
    {
        int MonObjetID { get; set; }
        string MonObjetPersonneNon { get; set; }
        string MonObjetPersonnePrenom { get; set; }
    }

    public class Acteur : IActeur
    {
        public int MonObjetID { get; set; }
        public string MonObjetPersonneNon { get; set; }
        public string MonObjetPersonnePrenom { get; set; }
    }

    public class MyDefaultClass
    {
        #region Constructors
        public MyDefaultClass() { }
        #endregion

        public void Init()
        {

_container = new WindsorContainer();
_container.Register(
	Castle.MicroKernel.Registration.Component.For().ImplementedBy()
	);

_ActeurFilm                          = _container.Resolve();
_ActeurFilm.MonObjetID               = _ActeurFilm.GetHashCode();
_ActeurFilm.MonObjetPersonneNon      = "Connor";
_ActeurFilm.MonObjetPersonnePrenom   = "John";

        }

        public void Dispose()
        {
            if (_container != null)
                _container.Dispose();
        }

        #region Fields
        private IWindsorContainer _container;
        private IActeur _ActeurFilm;
        #endregion

    }
}