【发布时间】:2019-07-23 08:52:53
【问题描述】:
对于适配器提供者来说,代码看起来很简单,如下所示:
public class KittensMustBeCuteAttributeAdapterProvider : IValidationAttributeAdapterProvider
{
private readonly IValidationAttributeAdapterProvider _baseProvider = new ValidationAttributeAdapterProvider();
public IAttributeAdapter GetAttributeAdapter(ValidationAttribute attribute, IStringLocalizer stringLocalizer)
{
if (attribute is KittensMustBeCuteAttribute)
{
return new KittensMustBeCuteAttributeAdapter(attribute as KittensMustBeCuteAttribute, stringLocalizer);
}
else
{
return _baseProvider.GetAttributeAdapter(attribute, stringLocalizer);
}
}
}
在我看来,我可以将此适配器提供程序重命名为通用并将其用于我的所有自定义属性,因为我有几个(不仅仅是KittensMustBeCuteAttribute)。
但是,我找不到任何信息表明这是否可行,或者您是否需要一个。我见过的所有示例都像我一样命名,特定于属性。
我可以通过扩展我的 if 语句来重复使用一个 AdapterProvider 吗?
【问题讨论】:
标签: asp.net-core-mvc data-annotations