【发布时间】:2012-07-16 09:19:09
【问题描述】:
我的接口只有一个属性,如下所示
public interface IExtendable
{
Hashtable ExtendedProperties { get; set;}
}
我希望 setter 是私有的,但它不允许,因为它来自一个接口,并且据我所知,所有内容都应该在其中公开。
那么,允许私有 setter 的最佳做法是什么?
- 在这种情况下不要使用接口还是什么?
提前致谢,
【问题讨论】:
-
你可以使用抽象类。
-
一个接口代表了其他类使用的对象的公共API。类的私有方面与消费者无关,因此没有理由将其放在接口中。
-
@Shaks 抽象类仍然无济于事,因为即使派生类也无法访问
private成员,除非您将其设为protected。 -
@MattDavey - 没错。我的错。 :(
-
谢谢大家。我猜到了答案