2

这是我之前关于接口的问题的后续。我收到了一个我喜欢的答案,但我不确定如何在 VB.NET 中实现它。

上一个问题:

这个属性应该是我的对象接口的一部分吗?

public interface Foo{
  bool MyMinimallyReadOnlyPropertyThatCanAlsoBeReadWrite {get;}
}

如何使用 VB.NET 语法实现这一点?据我所知,我唯一的选择是将属性标记为 ReadOnly(我无法实现 setter)或不(我必须实现 setter)。

4

2 回答 2

2

只需在一个接口中定义 getter,然后创建一个同时具有 getter 和 setter 的第二个接口。如果你的具体类是可变的,让它实现第二个接口。在处理类的代码中,检查它是否是第二个接口的实例,如果是,则强制转换,然后调用 setter。

于 2008-10-27T14:19:58.840 回答
1

在 VB.NET 中,我会以这种方式实现它:

Public Interface ICanBeSecure

    ReadOnly Property IsSecureConnection() As Boolean
End Interface

Public Interface IIsSecureable
    Inherits ICanBeSecure

    Shadows Property IsSecureConnection() As Boolean
End Interface
于 2008-10-27T14:24:10.253 回答