是否存在特定情况,即WriteOnly
属性比方法更有意义?方法方法对我来说更自然.
什么是正确的方法?
使用属性:
Public WriteOnly Property MyProperty As String
Set(ByVal value as String)
m_myField = value
End Set
End Property
Run Code Online (Sandbox Code Playgroud)
public string MyProperty
{
set{ m_myField = value;}
}
Run Code Online (Sandbox Code Playgroud)
使用方法:
Public Sub SetMyProperty(ByVal value as String)
m_myField = value
End Sub
Run Code Online (Sandbox Code Playgroud)
public void SetMyProperty(string value)
{
m_myField = value;
}
Run Code Online (Sandbox Code Playgroud)
编辑 只是为了澄清我指的是"WriteOnly"属性.
And*_*nan 11
我认为属性表示可以是只读或读/写的东西.只写属性的行为并不明显,因此我避免创建它们.
例如,在视图的下拉列表中设置值列表并访问所选项:
public interface IWidgetSelector
{
void SetAvailableWidgets(string[] widgets);
string SelectedWidget { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
比以下更有意义:
public interface IWidgetSelector
{
string[] AvailableWidgets { set; }
string SelectedWidget { get; set; }
}
Run Code Online (Sandbox Code Playgroud)