gpt4 book ai didi

c# - 使用 CaSTLe Windsor 解析具有泛型类型约束的接口(interface)

转载 作者:行者123 更新时间:2023-11-30 14:52:48 28 4
gpt4 key购买 nike

给定 FooRequest 和 FooResponse 是抽象的接口(interface):

 public interface IFooHandler<TRequest, TResponse> where TRequest : FooRequest where TResponse : FooResponse
{
TResponse CheckFoo(TRequest request);
}

实现:

public class MyFooHandler :  IFooHandler<MyFooRequest, MyFooResponse>
{
public MyFooResponse CheckFoo(MyFooRequest request)
{
/* check for foos */
}
}

我如何在 CaSTLe Windsor 中注册它以便我可以使用(其中 IoCContainer 是 WindsorContainer:

Global.IoCContainer.Resolve<IFooHandler<FooRequest, FooResponse>>();

解析 MyFooHandler 的实例?

最佳答案

在温莎城堡你可以使用这样的代码:

public void Install(IWindsorContainer container, IConfigurationStore store)
{
container.Register(
Component.For(typeof(IRepository<>)).ImplementedBy(typeof(Repository<>))
}
);

public class Repository<T> : IRepository<T> where T : class, IEntity
{
...
}

因此,我发现注册和解析泛型对于使用接口(interface)注册和解析泛型来说非常简单。周围有很多关于城堡和泛型的问题。

关于c# - 使用 CaSTLe Windsor 解析具有泛型类型约束的接口(interface),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30915944/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com