想像してみましょう:
// assembly 01
abstract class Foo
{
abstract void Bar();
}
class AdvancedFoo : Foo
{
override void Bar() { base.Foo(); ... }
}
sealed class SuperiorFoo : AdvancedFoo
{
override sealed void Bar() { base.Foo(); }
}
そして、そのアセンブリ01を02 asm から参照し、中間基本クラス (およびそれのみ) を置き換えて、 a のインスタンスがアセンブリSuperiorFoo
02 から継承しているように動作するようにしますAdvancedFoo
。
// assembly 02
class AdvancedFoo : Foo
{
override void Bar() { base.Foo(); ... }
}
02アセンブリSuperiorFoo
の場合、クラス宣言を書き直さないことでそれを行う方法はありますか?
var supFoo = new SuperiorFoo();
supFoo.Bar(); // This one should call assembly 02's Bar();