参见英文答案 >
Do write-only properties have practical applications?14个
我有一些C#代码,喜欢创建具有setter但没有getter的属性.对我而言,这似乎是一种反模式,但我错过了什么?
我有一些C#代码,喜欢创建具有setter但没有getter的属性.对我而言,这似乎是一种反模式,但我错过了什么?
public List<SiteVisitSummary> DataSource { set { // crazy logic here } }
解决方法
我不知道我是否称它为反模式.我认为重要的是要实现的是,示例中的属性本质上是一种伪装成属性的方法.出于这个原因,这是不直观的,我通常会避免它.对我来说,这看起来更自然:
public void SetDataSource(IEnumerable<SiteVisitSummary> dataSource) { // crazy logic here }
我见过的一个相当合理的情况是只设置属性是当有几个属性组合在一起时,将all设置为单个值是合理的事情(但显然,将all作为一个值没有意义) .例如:
class polyhedron { public int Height { get; set; } public int Width { get; set; } public int Depth { get; set; } public int AllDimensions { set { Height = Width = Depth = value; } } }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。