1[GenericTestRequest
GenericTestRequestHandler`1[T]によって実装されるIRequestHandler1[T]]のようなタイプを登録しようとしていますが、現在Windsorからエラーが発生しています "Castle.MicroKernel.ComponentNotFoundException:サービスをサポートするコンポーネントがありません"これはサポートされている操作の種類は?または、サポートされているレジスタから遠く離れていますか(Component.For(typeof(IList <>)。ImplementedBy(typeof(List <>)))
以下は、破壊テストの例です。////////////////////////////////////////////////// ////
public interface IRequestHandler{}
public interface IRequestHandler<TRequest> : IRequestHandler where TRequest : Request{}
public class GenericTestRequest<T> : Request{}
public class GenericTestRequestHandler<T> : RequestHandler<GenericTestRequest<T>>{}
[TestFixture]
public class ComponentRegistrationTests{
[Test]
public void DoNotAutoRegisterGenericRequestHandler(){
var IOC = new Castle.Windsor.WindsorContainer();
var type = typeof( IRequestHandler<> ).MakeGenericType( typeof( GenericTestRequest<> ) );
IOC.Register( Component.For( type ).ImplementedBy( typeof( GenericTestRequestHandler<> ) ) );
var requestHandler = IoC.Container.Resolve( typeof(IRequestHandler<GenericTestRequest<String>>));
Assert.IsInstanceOf <IRequestHandler<GenericTestRequest<String>>>( requestHandler );
Assert.IsNotNull( requestHandler );
}
}