I had to write my Find service method in almost every solution I made so it was time to add it to Castle. Now you can write this to auto register all your services, repositories, views, etc:
[TestFixture]
public class AllTypesTestCase
{
[Test]
public void Should_register_by_service_interface()
{
var kernel = new DefaultKernel();
kernel.Register(AllTypes
.Of<IService>()
.FromAssembly(typeof(ProductService).Assembly)
.WithService.FromInterface());
Assert.AreEqual(typeof(ProductService), kernel.Resolve<IProductService>().GetType());
Assert.AreEqual(typeof(OrderService), kernel.Resolve<IOrderService>().GetType());
}
}
public interface IService
{
}
public interface IProductService : IService
{
}
public class ProductService : IProductService
{
}
public interface IOrderService : IService
{
}
public class OrderService : IOrderService
{
}
Thanks Craig Neuwirt for applying my patch (with some modifications) to Castle.
