myFunc()
抽象宣言されている親クラス内で宣言および呼び出されたコードに変更を加えています。そして、それは実際に派生クラスに実装されていますか? 部分クラスには、定義を複数のファイルに分割できるこのプロパティがあることを知っていますが、クラス A と B は異なる名前空間にあり、どちらもキーワード " partial
" を使用しません。
このコードは正しく実装されていますか? それとも、C# 言語の規則に違反していますか?
File1.cs
namespace PQR
{
public abstract class A : UserControl
{
protected abstract void myFunc(); //no definition because it is declared abstract
}
protected void use_myFunc(int i)
{
//call myFunc(). called in a parent class,
//where it is declared abstract. And
//it is actually implemented in the derived class???
myfunc();
}
}
File2.cs
namespace ABC
{
public partial class B : PQR.A
{
protected override void myFunc()
{
//do something.
}
}
}