StartConcern
using Castle.Core;
using System.Reflection;
namespace Castle.Facilities.Startable
{
public class StartConcern : ICommissionConcern
{
private static readonly StartConcern instance = new StartConcern();
public static StartConcern Instance => instance;
protected StartConcern()
{
}
public void Apply(ComponentModel model, object component)
{
if (component is IStartable)
(component as IStartable).Start();
else if ((object)model.Configuration != null) {
(model.ExtendedProperties["Castle.StartableFacility.StartMethod"] as MethodInfo)?.Invoke(component, null);
}
}
}
}