1

我有一个只有一个属性的接口,如下所示

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

我希望 setter 是私有的,但它不允许,因为它来自一个接口,并且我知道一切都应该在其中公开。

那么允许私人二传手的最佳做法是什么?

  • 在这种情况下不要使用接口还是什么?

提前致谢,

4

2 回答 2

10

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

public interface IExtendable 
{       
     Hashtable ExtendedProperties { get; } 
} 

在接口的实现中,您可以添加您的私有设置器。

于 2012-07-16T09:21:22.213 回答
3
private interface IExtendable
{
    Hashtable ExtendedProperties { get; }
}

private class Extendable: IExtendable
{
    Hashtable ExtendedProperties { get; private set; }
}
于 2012-07-16T09:31:32.963 回答