1

基本クラスから継承すると、Visual Studio (ここでは v2008) から、派生クラスで作成する必要があるすべての MustInherit メンバーが通知されます。これは非常に便利です。

ただし、派生クラスでいくつかの共有メンバーを定義することも必要です。その値は、派生クラスごとに異なります。残念ながら、.NET では、基本クラスの共有メンバーに対する MustInherit は許可されていません。

派生クラスにも特定の特定の共有メンバーを含める必要があることを Visual Studio に思い出させる他の方法はありますか?

4

2 に答える 2

0

機能しないクラスレベルでポリモーフィを使用しようとしているようです。

        int result = ParentClass.STATIC_VALUE;
        int result2 = ChildClass.STATIC_VALUE;
        int result3 = AnotherChildClass.STATIC_VALUE;

STATIC_VALUE が異なる値に設定されているとします。この 3 つのクラスのいずれにも関連付けられたインスタンスがないため、.Net に「正しい」値を選択させるにはどうすればよいでしょうか?

ParentClass は常に定義された値を持ち、基本クラスの値を持つことはありません。ChildClass は、ParentClass の値、または定義されている場合は、ParentClass の値をシャドウする独自の値のいずれかを持ちます。

継承クラスの値を取得するには、常にこのクラスを明示的に呼び出す必要があります。多態性動作を使用する方法はありません。

.NET では、派生クラスが共有メンバーを定義することを基本クラスで保証できますか?

これは自動的に定義されますが、基本クラスを後で扱う別のプログラマーが独自の値を定義する必要があることを保証することはできません。クラス メンバーまたはプロパティを使用して問題を解決できるかどうかを再検討する必要があります。

于 2013-10-06T08:39:27.813 に答える