多重继承的解决方案 - 有机会改变保护lvl

nos*_*bor 4 c# inheritance protection interface multiple-inheritance

我需要一个多重继承的解决方案.我知道我可以使用接口.这将是一个很好的解决方案但是......我需要有机会改变保护级别,但界面领域必须公开......

例如:

我有

interface IInterface_1 {
  string field_1{set;get;}
  string field_2{set;get;}
}

interface IInterface_2 {
  string field_3{set;get}
  string field_4{set;get}
}
Run Code Online (Sandbox Code Playgroud)

在大班我需要隐藏一些字段

class MainClass : IInterface_1, IInterface_2 {
  public string field_1{set;get;}
  private string field_2{set;get;}
  public string field_3{set;get}
  public string field_4{set;get}
}
Run Code Online (Sandbox Code Playgroud)

你对此有什么解决方案吗?

Mar*_*ell 6

显式接口实现:

 class MainClass : IInterface_1, IInterface_2 {        
    public string field_1{get;set;}
    public string field_3{get;set;}
    public string field_4{get;set;}

    private string field2;
    string IInterface_1.field_2 {
        get {return field2;}
        set {field2 = value;}
    }
 }
Run Code Online (Sandbox Code Playgroud)