是否存在应该在类而不是属性上使用自定义属性的特定情况? 我知道属性因其可发现性和性能而更受欢迎,但是属性......我应该什么时候肯定使用它们?
更新:
Here是埃里克·利珀特 (Eric Lippert) 关于此决定的帖子。
最佳答案
Eric Lippert 有一个 great blog post正是为了解决这个决定。
他的总结是:
In short: use attributes to describe your mechanisms, use properties to model the domain.
我还要考虑到属性值实际上是静态的 - 换句话说,它是类型描述的一部分,而不是类型的任何实例。
当某些基类型的每个实例都必须具有一个属性(例如描述)但不同的具体派生类型希望在每个类型而不是每个实例的基础上指定描述时,可能会出现一个棘手的问题。您通常会得到总是返回常量的虚拟属性——这不是非常令人满意。我怀疑 Delphi 的类引用可能在这里有所帮助...不确定。
编辑:举一个机制的例子,如果你装饰一个类型来说明它来自数据库中的哪个表,那就是描述数据传输机制而不是关于正在传输的数据模型的任何信息。
关于c# - 什么时候使用属性而不是属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/552472/