让我们想象一下:
// 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(); }
}
然后我想从我的02 asm 引用该程序集01并替换中间基类(并且只有它),因此 a 的实例就像它们从程序集02继承一样。SuperiorFoo
AdvancedFoo
// assembly 02
class AdvancedFoo : Foo
{
override void Bar() { base.Foo(); ... }
}
如果02SuperiorFoo
程序集不重写类声明,有什么方法可以做到这一点?
var supFoo = new SuperiorFoo();
supFoo.Bar(); // This one should call assembly 02's Bar();