ProxyMixInsDescriptor
using Castle.Core;
using Castle.MicroKernel.Proxy;
using System.Collections.Generic;
using System.Linq;
namespace Castle.MicroKernel.ModelBuilder.Descriptors
{
public class ProxyMixInsDescriptor : IComponentModelDescriptor
{
private readonly IEnumerable<IReference<object>> mixIns;
public ProxyMixInsDescriptor(IEnumerable<IReference<object>> mixIns)
{
this.mixIns = mixIns;
}
public void BuildComponentModel(IKernel kernel, ComponentModel model)
{
if (mixIns.Any()) {
ProxyOptions proxyOptions = model.ObtainProxyOptions(true);
foreach (IReference<object> mixIn in mixIns) {
proxyOptions.AddMixinReference(mixIn);
}
}
}
public void ConfigureComponentModel(IKernel kernel, ComponentModel model)
{
}
}
}