在MSDN文档中,System.Reflection.Assembly有一个名为CodeBase的属性,该属性被定义为可覆盖。
Public Overridable ReadOnly Property CodeBase As String
但是,如果我尝试创建一个继承System.Reflection.Assembly的新类,我会收到一条错误消息,告诉我它不能被继承。那么如何覆盖这个属性呢?
答案 0 :(得分:5)
不幸的是你不能这样做。
虽然Assembly
类本身声明为public
,但它只提供internal
构造函数。这实际上意味着它只能从它自己的程序集mscorlib中实例化(或继承)。
答案 1 :(得分:3)
我认为你不能。虽然Assembly
不是sealed
(VB.NET中的NotInheritable
),但它没有公共构造函数;构造函数是internal
(VB.NET中的Friend
)。所以它可以继承,但只有与自身相同的程序集中的类型(即mscorlib)。