就是这样:
是否可以创建一个匿名类型的对象,该对象可以在VB.NET中覆盖其基类的方法?
例如,在Java中我们可以做到:
public class Foo {
public static Foo bar = new Foo() {
@Override
public void doStuff(){
System.out.println("Look, I'm doing stuff!");
}
};
public void doStuff() {
//do nothing
}
public static void main(String[] args) {
Foo.bar.doStuff();
}
}
//Output:
//Look, I'm doing stuff!
这在VB.NET中是否可行?
答案 0 :(得分:2)
看起来你可以通过声明要覆盖的方法作为类的属性的委托函数来模仿大部分功能。
例如:
Public Class Foo
Public ReadOnly doStuff As delDoStuff
Delegate Sub delDoStuff()
Private Sub New(del As delDoStuff)
Me.doStuff = del
End Sub
Public Shared bar As New Foo(AddressOf barDoStuff)
Private Sub barDoStuff
WL("Look, I'm doing stuff!")
End Sub
End Class
任何人都有更好的方法吗?