当前位置:  开发笔记 > 编程语言 > 正文

WriteOnly属性或方法?

如何解决《WriteOnly属性或方法?》经验,为你挑选了2个好方法。

是否存在特定情况,即WriteOnly属性比方法更有意义?方法方法对我来说更自然.

什么是正确的方法?

使用属性:

Public WriteOnly Property MyProperty As String
   Set(ByVal value as String)
      m_myField = value
   End Set
End Property
public string MyProperty
{
   set{ m_myField = value;}
}

使用方法:

Public Sub SetMyProperty(ByVal value as String)
   m_myField = value
End Sub
public void SetMyProperty(string value)
{
   m_myField = value;
}

编辑 只是为了澄清我指的是"WriteOnly"属性.



1> Andrew Kenna..:

我认为属性表示可以是只读或读/写的东西.只写属性的行为并不明显,因此我避免创建它们.

例如,在视图的下拉列表中设置值列表并访问所选项:

public interface IWidgetSelector
{
  void SetAvailableWidgets(string[] widgets);

  string SelectedWidget { get; set; }
}

比以下更有意义:

public interface IWidgetSelector
{
  string[] AvailableWidgets { set; }

  string SelectedWidget { get; set; }
}



2> Matt Campbel..:

对于它的价值,微软框架设计指南(如其FxCop工具中所体现的)不鼓励只写属性并标记它们作为API设计问题的存在,因为该方法不直观.

推荐阅读
帆侮听我悄悄说星星
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有