【发布时间】:2015-05-19 20:13:00
【问题描述】:
我需要公开一个类实例的“被映射?”状态。结果由基本检查确定。它不是简单地暴露一个字段的值。我不确定是否应该使用只读属性或方法。
只读属性:
public bool IsMapped
{
get
{
return MappedField != null;
}
}
方法:
public bool IsMapped()
{
return MappedField != null;
}
我已经阅读了 MSDN 的 Choosing Between Properties and Methods 但我仍然不确定。
【问题讨论】:
-
我认为詹姆斯回答中的 sysexpands 评论就是您的回答。当您回顾您的代码或其他开发人员查看它时;将其作为属性几乎肯定表明它仅返回与字段相关的值。没有理智的开发者会把过多的功能放入财产权中?另一方面,10 个答案都说 RO 属性肯定是相同的答案
-
那么阅读
MappedField意味着什么?它是对变量的简单读取,还是潜在的昂贵操作或具有副作用(例如延迟加载)的操作?
标签: c# .net class methods properties