gpt4 book ai didi

c# - 在 MVC 中使用带有 FluentValidation 的 CaSTLe Windsor

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

我正在努力让 FluentValidation 与 CaSTLe Windsor 一起工作。我已经有了温莎城堡的 wrapper 。这是相关代码:

public class ResolveType  
{
private static IWindsorContainer _windsorContainer;

public static void Initialize( IWindsorContainer windsorContainer )
{
_windsorContainer = windsorContainer;
}

public static T Of<T>()
{
return _windsorContainer.Resolve<T>();
}
}

我正在尝试构建 FluentValidation 工厂,如 http://www.jeremyskinner.co.uk/2010/02/22/using-fluentvalidation-with-an-ioc-container 中所述

这篇文章使用了 StructureMap,但我想我可以像这样将它改编成 CaSTLe Windsor:

public class CastleWindsorValidatorFactory : ValidatorFactoryBase
{

public override IValidator CreateInstance( Type validatorType)
{
return ResolveType.Of<validatorType>();
}
}

注意,我只是想调用我的包装器,以便 Windsor 可以解析类型引用。

问题是这不能编译。我收到“找不到类型或命名空间名称‘validatorType’(是否缺少 using 指令或程序集引用?)”

我怎样才能让它工作?

最佳答案

将此方法添加到您的 ResolveType 类:

public static object Of(Type type) {
return _windsorContainer.Resolve(type);
}

然后在您的 CaSTLeWindsorValidatorFactory 中:

public class CastleWindsorValidatorFactory : ValidatorFactoryBase {
public override IValidator CreateInstance(Type validatorType) {
return ResolveType.Of(validatorType) as IValidator;
}
}

关于c# - 在 MVC 中使用带有 FluentValidation 的 CaSTLe Windsor,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2824620/

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