gpt4 book ai didi

c# - 有理由不使用 CustomAttributes 吗?

转载 作者:太空宇宙 更新时间:2023-11-03 22:25:39 27 4
gpt4 key购买 nike

如果我有理由走这条路,这主要是征求意见。

我有一个由 CodeSmith 生成的多层应用程序。在 UI 级别,需要有一些必填字段,并且必填字段将根据绑定(bind)实体中的字段值而有所不同。我想做的是向实体中的每个属性添加一个“PropertyRequired”CustomAttribute,当我在其管理器中加载实体时,我可以设置 true 或 false。然后我将使用反射来查询属性并在 UI 级别向用户提供视觉反馈,并且我可以在保存之前验证所有必需的属性在管理器中是否具有有效值。我已经将其作为一个实体中的一个属性的概念证明来解决,但是在我尝试将其扩展到应用程序的其余部分之前,我想问一下是否有经验更多的人告诉我去为此,或者为什么我在扩大规模时不喜欢它。如果这是个坏主意,或者您可以提出更好的方法,请提出您的意见。

最佳答案

这是一种非常合理的方式(我以前做过非常相似的事情)- 但总是缺点:

  • 任何需要实体的代码都需要额外的引用(假设属性和实体在不同的程序集中)
  • 值(除非你很聪明)必须在编译时确定
  • 您不能在您无法控制的实体上使用它

在大多数情况下,以上都不是问题。如果它们一个问题,您可能希望支持外部元数据模型 - 但除非您需要它,否则这就太过分了。除非万不得已,否则不要这样做(意思是:继续使用属性;它们通常没问题)。

关于c# - 有理由不使用 CustomAttributes 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1528090/

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