C# 从自定义数据批注属性访问IConfiguration
我目前正在尝试将公司的开发框架从.NETFramework 4.7转换为.NET5 在旧代码中,有一系列自定义验证属性继承自System.ComponentModel.DataAnnotations.RegularExpressionAttribute 这些都有以下行为C# 从自定义数据批注属性访问IConfiguration,c#,.net-core,dependency-injection,attributes,.net-5,C#,.net Core,Dependency Injection,Attributes,.net 5,我目前正在尝试将公司的开发框架从.NETFramework 4.7转换为.NET5 在旧代码中,有一系列自定义验证属性继承自System.ComponentModel.DataAnnotations.RegularExpressionAttribute 这些都有以下行为 检查配置文件中是否指定了正则表达式 如果指定了正则表达式,则将其传递给基类 如果未指定正则表达式,请将硬编码正则表达式传递给基类 如何从.NET 5中的数据批注验证属性内部访问配置 我知道我可以在所有验证属性上创建一个静态配置方
我已经搜索了如何注入ASP.Net核心属性,但我找到的所有结果似乎都与Actionfilter和ServiceFilter有关,它们似乎与数据注释属性没有多大关联您可以尝试以下方法:
var config=(IConfiguration)validationContext.GetService(typeof(IConfiguration))代码>所以重写IsValid方法以检查配置条目是否存在,如果存在,则相应地更新regex pattern属性,然后调用基本IsValid方法?这是一种非常优雅的方式。这能回答你的问题吗?被动属性部分不适用,我不认为它与动作过滤器属性相关,不是数据注释,而是谦逊的部分。我是否可以按照下面@Usman Khan的回答中建议的方式访问容器