该属性应该是我对象界面的一部分吗?

Rob*_*ers 3 vb.net oop interface object

我有一个名为"IsSecureConnection"的属性,它是我对象界面的一部分.这对于接口的大多数实现都是有意义的,但是,在某些实现中,我想使属性ReadOnly.

我应该从对象的界面中省略这个属性,即使它是所有实现都需要的(虽然有时会略有不同)?

谢谢!

小智 6

只需在界面中添加getter即可.

public interface Foo{
  bool MyMinimallyReadOnlyPropertyThatCanAlsoBeReadWrite {get;}
}
Run Code Online (Sandbox Code Playgroud)

接口指定对象必须实现的最小值; 它没有说明对象不能做什么.为此,您需要研究创建基类.


Jam*_*ran 5

接口就像盐:到处洒:

public interface ICanBeSecure
{
    bool IsSecureConnection { get; }
}

public interface IIsSecureable : ICanBeSecure
{
    bool IsSecureConnection { get; set;}
}
Run Code Online (Sandbox Code Playgroud)