是否有特定情况应该在类而不是属性上使用自定义属性?我知道属性,因为他们发现性和性能的preferrable,但是属性......我什么时候应该肯定使用它们呢?
更新:
以下是Eric Lippert关于此决定的文章.
Eric Lippert有一篇很棒的博客文章正好解决了这个问题.
他的总结是:
简而言之:使用属性来描述您的机制,使用属性来建模域.
我还要考虑到属性值实际上是静态的 - 换句话说,它是类型描述的一部分,而不是类型的任何实例.
当某个基类型的每个实例都必须具有属性(例如描述)但是不同的具体派生类型想要基于每个类型而不是每个实例指定描述时,可能会出现一个棘手的问题.您经常会得到总是返回常量的虚拟属性 - 这并不是非常令人满意.我怀疑Delphi的类引用可能对此有所帮助......不确定.
编辑:举一个机制的例子,如果你装饰一个类型来说明它来自数据库中的哪个表,那就是描述数据传输机制,而不是说任何有关正在传输的数据模型的内容.