asp.net:部分类和继承

chr*_*ris 14 vb.net asp.net inheritance

我有一个分为两个文件的类.其中一个是生成的,另一个包含非生成的东西.

我希望我的类继承自基类.我是否需要继承这两个文件?或者,如果是任何一个类,该类将继承自基类

在生成的foo.vb中:

Partial Public Class Foo Inherits BaseClass

在手动创建的foo.vb中:

Partial Public Class Foo

它似乎并不重要(根据我在Reflector中看到的,无论如何).

谁能解释一下这是如何工作的?编译器是否简单地将两者结合起来?

小智 14

只有两个中的一个需要继承.

部分类只是编译器技巧.在编译之前,将两个文件拼接在一起.这意味着只能指定一个基类,就像在普通类中一样.

你可以这样:

partial class one : base {}
partial class one {}
Run Code Online (Sandbox Code Playgroud)

还有这个:

partial class one : base {}
partial class one : base {}
Run Code Online (Sandbox Code Playgroud)

但不是这个

partial class one : fu {}
partial class two : bar {}
Run Code Online (Sandbox Code Playgroud)

因为最后一个结合到:

class one : fu, bar {} 
Run Code Online (Sandbox Code Playgroud)

这是非法的.但是,您可以混合和匹配接口,就像在普通类上一样.