私は混乱していることを知っていますが、この問題の良いタイトルを考えるのは難しいので、ここで詳しく説明します。c#基本クラスと派生クラスがInterfaceメソッドを個別に実装できる方法はありますか?
私は2つの方法、IsValidRow()
とのインタフェースAを持っているとIsFileValid()
私は、基本クラスBを持っており、派生クラスC は、ここでの目標は、私がIsFileValid()
を実装するための基本クラスをしたいということなので、それがすべてで継承することができますIsValidRow()
を実装する基底クラスと各派生クラスから派生したクラス。
問題はIsFileValid()
がIsValidRow()
を呼び出すという問題です。私は
B:A
をすればAは、現在、私の派生クラスCは、ベースクラスとインターフェイスATMから継承B.
に実装されるIsValidRow()
が必要です。
2つのメソッドの要件が満たされている限り、すべてを再構築しても構いません(1つは基本クラスや何かに実装され、継承され、もう1つは派生クラスごとに実装されます)
interface IFileValidator
{
Pair<bool, string> IsValidRow(List<string> row);
bool IsFileValid(string file);
}
class FileValidator : IFileValidator
{
public bool IsFileValid(string file)
{
// calls IsValidRow()
IsValidRow();
}
}
class FacilitiesCalendarValidator : FileValidator, IFileValidator
{
public Pair<bool, string> IsValidRow(List<string> row)
{
//stuff
}
}
コーディングハッピー、私はそれは、彼らがインターフェイスから来た場合でも、すべてのメソッドの実装を提供しなければならないとは思いません。 –