gpt4 book ai didi

c# - 有没有办法避免注释属性中的魔数(Magic Number)?

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

我有这段代码,在不同的实例中,使用来自 MVC Foolproof ValidationRequiredIf 属性

[Display(Name = "ID Number")]
[RequiredIf("CitizenshipId", 1)]
public string IdNumber { get; set; }

但我真正想要的是

[RequiredIf("CitizenshipId", GetId("SA Citizen")]

现在,正如我认为其他开发人员也希望消除魔数(Magic Number) 1 一样,到目前为止,我所想到的只是函数必须查找的查找函数参数的字符串名称。将 1 变成“1”是很糟糕的。

注意:常量在这里并不理想,因为魔数(Magic Number) abovr 指的是 DB 的 PK。我想这也不理想,我应该为每个查找条目添加一个带有“常量代码”的第三列,因此无论 PK 是什么,无论文本是什么,我们仍然有一个不可变的值。

注意:我在 Orchard 内部工作,因此与自定义提供商没有任何有趣的业务。

最佳答案

我用过 FluentValidator这比属性更灵活。绝对更容易测试。

关于c# - 有没有办法避免注释属性中的魔数(Magic Number)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14193146/

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