这是我之前关于接口的问题的后续。我收到了一个我喜欢的答案,但我不确定如何在 VB.NET 中实现它。
上一个问题:
public interface Foo{
bool MyMinimallyReadOnlyPropertyThatCanAlsoBeReadWrite {get;}
}
如何使用 VB.NET 语法实现这一点?据我所知,我唯一的选择是将属性标记为 ReadOnly(我无法实现 setter)或不(我必须实现 setter)。
这是我之前关于接口的问题的后续。我收到了一个我喜欢的答案,但我不确定如何在 VB.NET 中实现它。
上一个问题:
public interface Foo{
bool MyMinimallyReadOnlyPropertyThatCanAlsoBeReadWrite {get;}
}
如何使用 VB.NET 语法实现这一点?据我所知,我唯一的选择是将属性标记为 ReadOnly(我无法实现 setter)或不(我必须实现 setter)。
只需在一个接口中定义 getter,然后创建一个同时具有 getter 和 setter 的第二个接口。如果你的具体类是可变的,让它实现第二个接口。在处理类的代码中,检查它是否是第二个接口的实例,如果是,则强制转换,然后调用 setter。
在 VB.NET 中,我会以这种方式实现它:
Public Interface ICanBeSecure
ReadOnly Property IsSecureConnection() As Boolean
End Interface
Public Interface IIsSecureable
Inherits ICanBeSecure
Shadows Property IsSecureConnection() As Boolean
End Interface