web-dev-qa-db-ja.com

部分クラスがクラスから継承する場合、同じ名前の他のすべての部分クラスも同じ基本クラスを継承する必要がありますか?

このような私のMVCプロジェクトのModelにクラスがあります。

public partial class Manager : Employee
{
    public string Name {get;set;}
    public int Age {get;set;}
}

そして、このプロジェクトは、同じプロジェクトのApp_Codeフォルダーにあります。次に、このクラスもEmployeeクラスから継承する必要があるかどうかを知りたいですか?

public partial class Manager 
{
    public void SaveEmployee();
}

クライアントがデータベースを処理しているApp_Codeフォルダ内のすべてのメソッドを移動することを望んでいるため、これを行う必要があります。

そして、はい、これらのクラスは両方とも同じ名前空間を共有しています。

27
Jitender Kumar

これは、2つの異なるクラスではなく、複数の宣言にわたって定義された単一のクラスです。継承モデルを定義する必要があるのは1つの宣言だけです。例:

public class Foo { }

//Bar extends Foo
public partial class Bar : Foo { }

public partial class Bar {  }

ただし、次のことを試みると、「 'Bar'の部分宣言は異なる基本クラスを指定してはならない」というコンパイラエラーが発生します。

public class Foo { }

public partial class Bar : Foo { }

public partial class Bar : object {  }
27
Preston Guillot

はい、部分クラスの他の部分は同じクラスなので、Employeeから継承します。

1
Iain Holder