ItemRegistration<TItem>
using System;
namespace Castle.MicroKernel.Registration.Proxy
{
public class ItemRegistration<TItem>
{
private IReference<TItem> item;
internal IReference<TItem> Item => item;
public ItemRegistration<TItem> Instance(TItem instance)
{
item = new InstanceReference<TItem>(instance);
return this;
}
public ItemRegistration<TItem> Service<TService>() where TService : TItem
{
return this.Service(typeof(TService));
}
public ItemRegistration<TItem> Service(Type serviceType)
{
item = new ComponentReference<TItem>(serviceType);
return this;
}
public ItemRegistration<TItem> Service(string name)
{
item = new ComponentReference<TItem>(name);
return this;
}
}
}