gpt4 book ai didi

c# - 如何使用 CaSTLe Windsor 通过 WPF 应用程序实现正确的 Di

转载 作者:太空宇宙 更新时间:2023-11-03 14:57:23 27 4
gpt4 key购买 nike

我想在我的 WPF 应用程序中使用 CaSTLe Windsor,这是一个简单的程序,有 4 个控件和两个正在运行的服务。问题是我有一个服务,它有一个需要 int 参数的构造函数。我已经为 CW & 提供了安装程序并将其注入(inject)到类中,但是 CW 没有说无法解析 int 类型的参数。

部分服务构造函数:

public FaceDetectionService(int devinceIndex)
: base(devinceIndex)
{

基础服务需要参数来实例化。我该如何处理这种事情?我相信我的理解是无效的。如果您需要更多代码,请告诉我。

最佳答案

如果参数仅在运行时已知,那么我建议使用类型化工厂:

IFaceDetectionServiceFactory
{
FaceDetectionService Create(int devinceIndex);
}

kernel.AddFacility<TypedFactoryFacility>();
kernel.Register(Component.For<IFaceDetectionServiceFactory>().AsFactory());
kernel.Register(Component.For<FaceDetectionService>());

然后您可以注入(inject) IFaceDetectionServiceFactory 并在运行时创建 FaceDetectionService

更多信息在这里: https://github.com/castleproject/Windsor/blob/master/docs/typed-factory-facility-interface-based.md

关于c# - 如何使用 CaSTLe Windsor 通过 WPF 应用程序实现正确的 Di,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48337736/

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