如何阻止 [Required] 注释在被覆盖的字段上被继承?

2024-02-28

我有一个电话号码通知模型(用户通过与帐户关联的电话号码收到紧急情况通知,并且可以设置呼叫的顺序)。大多数时候,模型的电话号码部分是必需的,但在创建新用户时有一种特殊情况,我们不想强制它。

我创建了一个非常简单的子对象 UserCreationPhoneNotificationModel,它继承自上述 UserPhoneNotificationModel。还有其他一些小更改,但此处相关的更改是覆盖 PhoneNumber 字段,以便不再需要它。

在父模型中是

[Required]
public virtual string PhoneNumber { get; set; }

在儿童模型中它只是

public override string PhoneNumber { get; set; }

我认为这可以解决问题,但显然不行。我认为问题在于 requiredAttribute 上会有 Inherited = true ,但事实并非如此,所以我不完全确定为什么它被继承到子类中。

我仔细检查以确保,从父类中的字段中删除“Required”也使得子类中的字段不再是必需的,所以这绝对是某种继承的东西。


可以通过以下方式完成Hiding现有的财产被同名的新财产取代。 所以,如果父类中的属性是这样的:

[Required]
public virtual string PhoneNumber { get; set; }

您可以在子类中定义新属性,如下所示:

public new string PhoneNumber { get; set; }

这将在子类中隐藏 PhoneNumber 属性及其属性。现在您可以将任何其他属性与它一起使用。例如,您可以添加[PhoneNumber]属性为子类中的属性。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何阻止 [Required] 注释在被覆盖的字段上被继承? 的相关文章

  • 当我使用“control-c”关闭发送对等方的套接字时,为什么接收对等方的套接字不断接收“”

    我是套接字编程的新手 我知道使用 control c 关闭套接字是一个坏习惯 但是为什么在我使用 control c 关闭发送进程后 接收方上的套接字不断接收 在 control c 退出进程后 发送方的套接字不应该关闭吗 谢谢 我知道使用
  • 如何使用GDB修改内存内容?

    我知道我们可以使用几个命令来访问和读取内存 例如 print p x 但是如何更改任何特定位置的内存内容 在 GDB 中调试时 最简单的是设置程序变量 参见GDB 分配 http sourceware org gdb current onl
  • 将数组向左或向右旋转一定数量的位置,复杂度为 o(n)

    我想编写一个程序 根据用户的输入 正 gt 负 include
  • linux perf:如何解释和查找热点

    我尝试了linux perf https perf wiki kernel org index php Main Page今天很实用 但在解释其结果时遇到了困难 我习惯了 valgrind 的 callgrind 这当然是与基于采样的 pe
  • 绑定到 ViewModel 时如何更新 Model?

    我有一个 HttpPost 操作方法签名如下 HttpPost public ActionResult Edit ExistingPostViewModel model Save the edited Post 现在 在过去 当我没有使用
  • 实时服务器上的 woff 字体 MIME 类型错误

    我有一个 asp net MVC 4 网站 我在其中使用 woff 字体 在 VS IIS 上运行时一切正常 然而 当我将 pate 上传到 1and1 托管 实时服务器 时 我得到以下信息 网络错误 404 未找到 http www co
  • Newtonsoft JSON PreserveReferences处理自定义等于用法

    我目前在使用 Newtonsoft Json 时遇到一些问题 我想要的很简单 将要序列化的对象与所有属性和子属性进行比较以确保相等 我现在尝试创建自己的 EqualityComparer 但它仅与父对象的属性进行比较 另外 我尝试编写自己的
  • 将布尔参数传递给 SQL Server 存储过程

    我早些时候问过这个问题 我以为我找到了问题所在 但我没有 我在将布尔参数传递给存储过程时遇到问题 这是我的 C 代码 public bool upload false protected void showDate object sende
  • 在 Visual Studio 2008 上设置预调试事件

    我想在 Visual Studio 中开始调试程序之前运行一个任务 我每次调试程序时都需要运行此任务 因此构建后事件还不够好 我查看了设置的 调试 选项卡 但没有这样的选项 有什么办法可以做到这一点吗 你唯一可以尝试的 IMO 就是尝试Co
  • C 预处理器库

    我的任务是开发源分析工具C程序 并且我需要在分析本身之前预处理代码 我想知道什么是最好的图书馆 我需要一些重量轻 便于携带的东西 与其推出自己的 为什么不使用cpp这是的一部分gcc suite http gcc gnu org onlin
  • for循环中计数器变量的范围是多少?

    我在 Visual Studio 2008 中收到以下错误 Error 1 A local variable named i cannot be declared in this scope because it would give a
  • 实体框架 4 DB 优先依赖注入?

    我更喜欢创建自己的数据库 设置索引 唯一约束等 使用 edmx 实体框架设计器 从数据库生成域模型是轻而易举的事 现在我有兴趣使用依赖注入来设置一些存储库 我查看了 StackOverflow 上的一些文章和帖子 似乎重点关注代码优先方法
  • 将 xml 反序列化为类,list<> 出现问题

    我有以下 XML
  • PDF 在 Safari 中隐藏 Jquery Modal

    这是与我有关的事情this https stackoverflow com questions 24052681 pdf hide jquery modal in ie问题 在 IE 中 我在对话框中使用 iframe 解决了问题 所以它工
  • C - 直接从键盘缓冲区读取

    这是C语言中的一个问题 如何直接读取键盘缓冲区中的数据 我想直接访问数据并将其存储在变量中 变量应该是什么数据类型 我需要它用于我们研究所目前正在开发的操作系统 它被称为 ICS OS 我不太清楚具体细节 它在 x86 32 位机器上运行
  • 为什么 C# Math.Ceiling 向下舍入?

    我今天过得很艰难 但有些事情不太对劲 在我的 C 代码中 我有这样的内容 Math Ceiling decimal this TotalRecordCount this PageSize Where int TotalRecordCount
  • 禁用视图中所需的验证特定字段 ASP.NET MVC 4

    如果有人能给我一些提示 我将不胜感激 我搜索了一段时间 我什至找到了一个帖子 我认为它可以解决我的问题 但它没有 在某些情况下禁用必需的验证属性 https stackoverflow com questions 5367287 disab
  • 如何使用 std::string 将所有出现的一个字符替换为两个字符?

    有没有一种简单的方法来替换所有出现的 in a std string with 转义 a 中的所有斜杠std string 完成此操作的最简单方法可能是boost字符串算法库 http www boost org doc libs 1 46
  • 如何在 C++ BOOST 中像图形一样加载 TIFF 图像

    我想要加载一个 tiff 图像 带有带有浮点值的像素的 GEOTIFF 例如 boost C 中的图形 我是 C 的新手 我的目标是使用从源 A 到目标 B 的双向 Dijkstra 来获得更高的性能 Boost GIL load tiif
  • 使用按位运算符相乘

    我想知道如何使用按位运算符将一系列二进制位相乘 但是 我有兴趣这样做来查找二进制值的十进制小数值 这是我正在尝试做的一个例子 假设 1010010 我想使用每个单独的位 以便将其计算为 1 2 1 0 2 2 1 2 3 0 2 4 虽然我

随机推荐

  • “死内核”Anaconda-Jupyter 紧贴 C++ Windows

    我新安装了 Anaconda v 4 3 1 并使用 conda 命令在 Jupyter 上安装 C 内核的 cling 我用了conda install c conda forge cling 0 3 post 我使用的是 Windows
  • 将全天活动添加到 Google 日历的链接

    所以我看了看添加到 Google 日历的链接 https stackoverflow com questions 10488831 link to add to google calendar 但我想对全天活动做同样的事情 我试过做date
  • ExecutorService,如何知道所有线程何时完成而不阻塞主线程?

    我有一个多线程实现 我创建一个 ExecutorService 并提交要执行的任务 我想知道所有线程何时提交完成而不阻塞主线程和 UI 我试过了ExecutorService awaitTermination 但它会阻塞主线程和 UI 我已
  • 双线性插值

    我得到了通过双线性插值缩放图像的代码 我知道这是可行的 但我无法弄清楚如果近似像素值是边缘 边缘我的意思是它在最后一行或最后一列 像素中的一件事会怎样输入图像然后我可以 gt 坐标 x 1 y 1 的像素 这应该会导致数组索引超出范围错误
  • 如何将数组缓冲区数据与 string/json 一起发送到 NodeJS 服务器

    我需要在一个请求中将客户端页面的图像数据 作为数组缓冲区读取 以及页面生成的附加字符串 json 信息发送到 NodeJS 服务器 我需要在一个请求中处理这两个部分 因为服务器的进一步图像处理取决于发送的字符串 json 有哪些方法可以由客
  • 使用 py.test 在 Python 中测试正则表达式

    正则表达式对我来说仍然是一门黑暗艺术 但我认为这是需要练习的事情之一 因此 我更关心能够生成 py test 函数来显示我的正则表达式失败的地方 我当前的代码是这样的 my regex re compile
  • 与集合和泛型相关的 Java 10 迁移问题

    继续我之前在链接中的查询 Java 10 上的 Swing 问题 https stackoverflow com questions 51555030 swing issue on java 10 noredirect 1 comment9
  • 性能测试 OpenLayers 与 Leaflet

    我想比较 OpenLayers 和 Leaflet 之间的性能 我想测试诸如渲染矢量文件 底图 显示大量标记等最快的东西 我可以自己设置这个例子 但我不知道如何实际测量它们之间的速度差异 在哪里可以看到执行将矢量数据加载到地图等任务实际需要
  • 单独项目中的 nHibernate 域模型和映射文件

    有没有办法将域对象和映射文件分离到两个单独的项目中 我想创建一个名为 MyCompany MyProduct Core 的项目 其中包含我的域模型 以及另一个名为 MyCompany MYProduct Data Oracle 的项目 其中
  • GKE 入口 https 重定向 - FrontendConfig 无法识别

    我有一个同时包含 Http 和 Https 的 GKE 入口 我想将流量从端口 80 重定向到端口 443 我找到了这个 https github com kubernetes ingress gce issues 1075 https g
  • 无法加载配置“airbnb”以扩展 - gitlab ci

    我尝试以各种方式进行和重做 Airbnb eslint 安装 但我总是在 GitLab ci 中遇到此构建错误 它适用于我当地的环境 我使用 create react app 创建了项目 单独安装了依赖项 以免覆盖 eslint 版本 但我
  • 如何将 stderr out 和 stdout out 重新定义为单独的日志?

    如何使用日志记录模块重新定义 stderr out 和 stdout out 以单独记录文件 例如 stderr log 和 stdout log 文件 您可以简单地替换sys stdout and sys stderr使用自定义的类似文件
  • Firestore 强制用户编写 id 等于其自己的 uid 的文档的规则

    我想保证用户只能添加与其 auth uid 具有相同 id 的文档 例如 ID 为 1X0T6xC6hhRN5H02zLCN6SQtwby2 的用户只能创建 更新文档 salesmen 1X0T6xC6hhRN5H02zLCN6SQtwby
  • 如何为 Kubernetes 集群确定合适的 pod CIDR 值?

    我正在启动一个 kubernetes 集群 kubeadm init pod network cidr 192 168 1 0 16 apiserver advertise address 192 168 0 33 我对网络概念或 CIDR
  • Nuget.exe 安装 — Microsoft.CSharp 已经具有 System.Dynamic.Runtime 的依赖项

    我们通过 CI 构建中的 PowerShell 预构建脚本安装一些包 最近 我们收到了部分成功的电子邮件通知 其中提供了以下信息 Microsoft CSharp 已经具有为 System Dynamic Runtime 定义的依赖项 以下
  • YAML Jackson - 数组的锚键

    我正在尝试将 YAML 文件解析为对象 尽管 Online YAML 解析器告诉我它可以按照我想要的方式进行解析 但 Jackson YAML 解析器拒绝给我我想要的东西 这是 YAML 文件 nom service1 etats e1s1
  • 为什么 MultiMap 中不保留插入顺序?

    public class MultiMap Test public static void main String args Multimap
  • Spring MVC 预填充复选框

    首先是一些背景信息 获得了相当标准的用户角色关系 其中用户可以拥有多个角色 我将角色定义为用户类中的一组 现在我知道 html 表单将所有值都作为字符串 并且尝试获取值 因为我的自定义 Role 对象不起作用 我实现了一个 initbind
  • C2440 static_cast 无法从基类转换为派生类

    我试图理解为什么使用指针从基类到派生类的转换编译得很好 但使用非指针对象进行转换会产生错误 C2440 下面我有一个基类ThreadedMessage这是由类继承的GPSMessage struct ThreadedMessage Thre
  • 如何阻止 [Required] 注释在被覆盖的字段上被继承?

    我有一个电话号码通知模型 用户通过与帐户关联的电话号码收到紧急情况通知 并且可以设置呼叫的顺序 大多数时候 模型的电话号码部分是必需的 但在创建新用户时有一种特殊情况 我们不想强制它 我创建了一个非常简单的子对象 UserCreationP