首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基类中的AddressOf

基类中的AddressOf
EN

Stack Overflow用户
提问于 2011-03-16 22:59:13
回答 2查看 186关注 0票数 3

当引用一个方法的地址时,我们是否应该考虑重写?

代码语言:javascript
复制
Class B 
  Inherits A

  Overrides Sub Foo
     Console.WriteLine("B")
  End Sub
End Class


Class A
  Public Sub PFoo
  ... AddressOf Foo ... ' WHAT WILL DO THIS METHOD??? '
  End

  Protected Overridable Sub Foo()
     Console.WriteLine("A")
  End Sub
End Class
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-03-16 23:21:23

它将打印B。要使您的意图更明显,您可以将AddressOf Me.Foo。此外,就像一个仅供参考的代码一样,如果您输入MyClass.Foo,它将打印A

代码语言:javascript
复制
    Module Module1

    Sub Main()

        Dim b As B = New B
        b.PFoo() ' prints B
        Console.ReadLine()

    End Sub

End Module

Public Class B
    Inherits A

    Protected Overrides Sub Foo()
        Console.WriteLine("B")
    End Sub
End Class

Public Class A
    Public Sub PFoo()
        Dim f As Action = New Action(AddressOf Me.Foo)
        f.Invoke()
    End Sub

    Protected Overridable Sub Foo()
        Console.WriteLine("A")
    End Sub
End Class
票数 3
EN

Stack Overflow用户

发布于 2011-03-16 23:02:52

如果在继承B类的/object实例中调用PFoo,我相信PFoo将引用在继承类中被覆盖的Foo。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5327138

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档