c# - 什么时候使用属性而不是属性?

标签 c#

是否存在应该在类而不是属性上使用自定义属性的特定情况? 我知道属性因其可发现性和性能而更受欢迎,但是属性......我应该什么时候肯定使用它们?

更新:

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/

相关文章:

c# - 从 Android 中的 ASPX 页面获取响应

c# - 在 WPF 中重用触发条件或多重绑定(bind)

c# - 将DataTable中的数据插入到数据库表中

c# - 从 Silverlight 重定向到另一个页面

c# - WHERE 子句中使用的拆分 varchar 值

c# - 调整 tiff 大小并保持透明度和 c#

c# - 通过 HttpWebRequest 调用 WCF 服务时出现 HTTP 错误 400

c# - StringBuilder 构造函数中的 capacity 和 maxCapacity 有什么区别?

c# - 如何删除除某些文件夹之外的所有文件夹

c# - XNA C# 如何让我的模型闪烁?