using Caliburn.Events.Brokering; using Castle.Core; using Castle.MicroKernel; using Castle.MicroKernel.ModelBuilder; namespace Caliburn.Castle { public class EventSubscriptionContributer : IContributeComponentModelConstruction { public const string SubcsribedMethods = "SubcsribedMethods"; private readonly IEventBroker _eventBroker; public EventSubscriptionContributer(IEventBroker eventBroker) { _eventBroker = eventBroker; } #region IContributeComponentModelConstruction Members public void ProcessModel(IKernel kernel, ComponentModel model) { model.ExtendedProperties[SubcsribedMethods] = _eventBroker.GetSubscribedMethods(model.Implementation); } #endregion } }