機能しないクラスレベルでポリモーフィを使用しようとしているようです。
int result = ParentClass.STATIC_VALUE;
int result2 = ChildClass.STATIC_VALUE;
int result3 = AnotherChildClass.STATIC_VALUE;
STATIC_VALUE が異なる値に設定されているとします。この 3 つのクラスのいずれにも関連付けられたインスタンスがないため、.Net に「正しい」値を選択させるにはどうすればよいでしょうか?
ParentClass は常に定義された値を持ち、基本クラスの値を持つことはありません。ChildClass は、ParentClass の値、または定義されている場合は、ParentClass の値をシャドウする独自の値のいずれかを持ちます。
継承クラスの値を取得するには、常にこのクラスを明示的に呼び出す必要があります。多態性動作を使用する方法はありません。
.NET では、派生クラスが共有メンバーを定義することを基本クラスで保証できますか?
これは自動的に定義されますが、基本クラスを後で扱う別のプログラマーが独自の値を定義する必要があることを保証することはできません。クラス メンバーまたはプロパティを使用して問題を解決できるかどうかを再検討する必要があります。