VB.NET中的共享方法无法处理这个原因?

Joh*_*ohn 6 vb.net visual-studio-2005

(我试过这个问题,但这段代码可以更好地隔离问题.)

我有这个代码:

Public Shared Sub PopulateTextFields(ByRef stuffList As List(Of Stuff))
    Dim aStuff As New Stuff
    For Each aStuff In stuffList
        DoStuff(aStuff)
    Next
End Sub

Private Sub DoStuff(ByRef theStuff as Stuff)
    ....
End Sub
Run Code Online (Sandbox Code Playgroud)

我得到以下错误突出显示DoStuff(aStuff):

如果没有类的显式实例,则无法在共享方法或共享成员初始值设定项中引用类的实例成员.

在编写Dim语句时,我没有得到Stuff的显式实例吗?

不明白什么是错的.提前致谢!

Ana*_*nax 13

认为问题在于子程序DoStuff.如果你的潜艇都在同一个类中,你试图从PopulateTextFields中引用DoStuff,这是一个共享子.

为了实现这一点,您还需要将DoStuff声明为Shared.