私は次のようにインターフェースを持っています:
public interface IData
{
String Name { get; set; }
}
そしてそれを実装する2つのクラス:
public class Data1 : IData
{
public String Name { get; set; }
}
public class Data2 : IData
{
public String Name { get; set; }
}
インスタンスの名前を取得できないようにする必要がありData2
ます。コンパイラは、次のすべての形式を許可しているわけではありません。
internal String Name { get; set; }
private String Name { get; set; }
public String Name { private get; set; }
これが明示的に可能ではない論理的な理由を理解しています。プロパティは、実装されたアクセス修飾子についての手がかりを持たないインターフェイスを使用してアクセスされ、それが見つからない場合は失敗します。
私の使用例は、Data1
とData2
インスタンスの両方が、IData
パラメーターが使用されているメソッド (使用されていないメソッドの一部) を使用できる必要がありますがName
、Data2
機密性が高く、直接アクセスするべきではありません。したがって、回避策を探しています。