首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Nuget System.ComponentModel.Annotations中重写System.ComponentModel.Annotations

在Nuget System.ComponentModel.Annotations中重写System.ComponentModel.Annotations
EN

Stack Overflow用户
提问于 2017-10-16 07:18:49
回答 1查看 223关注 0票数 0

我使用Nuget包System.ComponentModel.Annotations进行数据验证。现在,我也想通过正则表达式添加验证。问题是,我想添加RegexOptions,有点像这条线。nuget包版本的RegularExpressionAttribute.IsValid()不像.NET Framework那样返回bool,而是返回一个ValidationResult,因为我找不到任何方法来改变验证的结果,而ValidationResult似乎没有直接的重写方法。我之所以使用Nuget包而不是框架提供的版本,是因为它需要同时支持Nuget包支持的.NET 4.5和.NET标准1.1。那么,如何以任何有意义的方式覆盖RegularExpressionAttribute.IsValid()呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-10-16 11:24:10

我通过引用.NETStandard 1.3而不是.NETStandard 1.1来解决这个问题,因为该版本为RegularExpressionAttribute.IsValid()添加了一个覆盖,该覆盖除了返回一个ValidationResult之外,还返回一个bool。但是由于.NET Framework4.5只实现了.NETStandard 1.1,所以我不得不针对多个框架进行编辑project.csproj,结果如下所示:

代码语言:javascript
复制
<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <TargetFrameworks>netstandard1.3;net45</TargetFrameworks>
    <RootNamespace>Foobar</RootNamespace>
    <AssemblyName>Foobar</AssemblyName>
  </PropertyGroup>
  <ItemGroup>
    <PackageReference Include="System.ComponentModel.Annotations" Version="4.4.0" />
  </ItemGroup>

</Project>
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46764865

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档