如何覆盖不可继承的类中的属性?

And*_*y E 3 .net inheritance overriding

在MSDN文档中,System.Reflection.Assembly有一个名为CodeBase的属性,该属性被定义为可覆盖.

Public Overridable ReadOnly Property CodeBase As String
Run Code Online (Sandbox Code Playgroud)

但是,如果我尝试创建一个继承System.Reflection.Assembly的新类,我会收到一条错误消息,告诉我它不能被继承.那么如何覆盖这个属性呢?

Luk*_*keH 5

不幸的是你不能这样做.

虽然Assembly类本身被声明为public,但它只提供了一个internal构造函数.这实际上意味着它只能从它自己的程序集mscorlib中实例化(或继承).