我有一个分为两个文件的类。其中一个是生成的,另一个包含非生成的东西。
我希望我的类继承自基类。我是否需要继承这两个文件?或者,如果是部分类
,该类将继承自基类在生成的foo.vb中:
Partial Public Class Foo Inherits BaseClass
在手动创建的foo.vb中:
Partial Public Class Foo
这似乎并不重要(根据我在Reflector中看到的,无论如何)。
任何人都可以解释这是如何工作的吗?编译器是否简单地将两者组合在一起?
答案 0 :(得分:14)
两者中只有一个需要继承。
部分类只是编译器技巧。在编译之前,将两个文件拼接在一起。这意味着只能指定一个基类,就像在普通类中一样。
你可以拥有:
partial class one : base {}
partial class one {}
和此:
partial class one : base {}
partial class one : base {}
但不是这个
partial class one : fu {}
partial class two : bar {}
因为最后一个组合成:
class one : fu, bar {}
这是非法的。但是,您可以混合和匹配接口,就像在普通类上一样。