私はインターフェイスを継承し、自動的に生成された一部のプロパティをprivateとして作成しようとしました。これは一例です。C#でアクセシビリティ修飾子を使用してプロパティを継承
public class MyClass
{
public interface A
{
int X {get; set;}
}
public interface B : A
{
int Y {get; set;}
}
public class C : A
{
public int X {get; private set;}
}
コンパイルしようとしたとき。 'MyClass.C' does not implement interface member 'MyClass.A.X.set'. 'MyClass.C.X.set' is not public.
というエラーが発生しました。
private set;
をiterface A
に入れましたが、もう一度このエラーが発生しました:'MyClass.A.X.set': accessibility modifiers may not be used on accessors in an interface
。
このアクセシビリティ修飾語はC#では使用できませんか?
パブリックメンバーだけではありません。明示的なインタフェース実装はもう1つです。暗黙的インターフェイスメンバを実装する – svick