VB.NET类和方法

时间:2013-12-15 09:35:00

标签: vb.net class

Public Class Form1

  Public Sub _A()
    B._B() ' Why i could not do taht
  End Sub
End Class

Public Class B

  Public Sub _B()
    Form1._A() ' Why i could do that
  End Sub
End Class

我现在可以使用共享 - Public Shared Sub _B() - ,,, 提前谢谢。

1 个答案:

答案 0 :(得分:1)

如果您通过Jetbrain的dotPeek等反编译器查看编译器生成的代码,您将在B s _B方法中找到以下代码:

public void _B()
{
  MyProject.Forms.Form1._A();
}

MyProject类由vb.net编译器自动生成,允许您轻松访问表单。在这个Helper类中,有一个对实际Form1对象的引用。

正如Hans Passant在评论中所说,这对于VB.NET程序员理解差异并没有多大帮助,所以你最好避免使用它。