使用Interface添加私有setter

时间:2012-07-16 09:19:09

标签: c# .net

我的界面只有一个属性,如下面的

public interface IExtendable
{
      Hashtable ExtendedProperties { get; set;}
}

我希望setter是私有的,但它不允许,因为它来自一个接口,并且我知道它们应该是公共的。

那么允许私人制定者的最佳做法是什么?

  • 在这种情况下不使用界面或什么?

提前致谢,

2 个答案:

答案 0 :(得分:7)

您无法将私有设置器添加到接口。如果你想拥有一个私有的setter,那么你的界面将需要如下所示:

public interface IExtendable 
{       
     Hashtable ExtendedProperties { get; } 
} 

在界面的实现中,您可以添加私人设置器。

答案 1 :(得分:2)

private interface IExtendable
{
    Hashtable ExtendedProperties { get; }
}

private class Extendable: IExtendable
{
    Hashtable ExtendedProperties { get; private set; }
}