0
我有一個類,MyClass
,聲明爲public,用Shared
方法test()
:共享類領域的Visual Basic
Public Class MyClass
Public Shared Function test()
Return "sdfg"
End Function
' snip other non-shared methods
End Class
這Class
位於App_Code
目錄的網站,並出現可見,因爲我可以從任何站點腳本實例化類的實例。
我的問題特別涉及訪問Shared
方法test()
。試圖得到這個工作,我必須在腳本之一的Page_Load()
下面的代碼:
Sub Page_Load(ByVal Sender as Object, ByVal E as EventArgs)
Response.Write MyClass.test()
Dim myClassVar As MyClass = new MyClass()
myClassVar.nonSharedMethod()
End Sub
如果我註釋掉Response.Write MyClass.test()
,一切工作正常,我可以使用Class
- 但是,試圖訪問Shared
方法,我得到以下錯誤:
Local variable 'myClass' cannot be referred to before it is declared
任何指針,以什麼我做錯了?
我猜測,在模糊這個代碼的發佈目的,你已經掩蓋了這樣一個事實,即你有一個名稱爲MyClass的變量也在你的頁面加載中聲明(*是*這個錯誤基本上是在說什麼)。 –
我意識到這個例子可能是一個抽象概念,但是如果您將類名更改爲「AClass'而不是'MyClass',是否仍會發生? 'MyClass'是VB.Net中的關鍵字,這可能會導致您的問題。 –
@Damien_The_Unbeliever,是的,這正是發生了什麼......我有一個MyClass類型的變量,稱爲myClass,而VB顯然是根據變量名稱處理myCLass == MyClass。有趣的,謝謝你的幫助。你可以發佈這個作爲解決方案,所以我可以標記它的答案? –