1

以下のようなプロパティが1つしかないインターフェイスがあります

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

セッターをプライベートにしたいのですが、インターフェイスから来ており、私が知っているようにすべてがパブリックである必要があるため、許可されません。

では、プライベート セッターを許可するためのベスト プラクティスは何でしょうか?

  • このシナリオではインターフェイスを使用しないでください。

前もって感謝します、

4

2 に答える 2

10

インターフェイスにプライベートセッターを追加することはできません。プライベートセッターが必要な場合は、インターフェイスを次のようにする必要があります。

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 に答える