我的一個類似乎對我的項目的其餘部分是看不見的。我想知道在我能使用它的公共資料之前,我是否需要初始化它。VB.NET沒有看到一些類
Class1
的功能和方法立即出現在IntelliSense中,但Class2
被視爲一般(未知)對象。
我有一些Public Shared
函數Class1
和Class2
。我可以使用
Class1.myPublicSharedFunction()
正常。然而,當我嘗試這與Class2
任何功能,我得到的錯誤:
Error 1 Option Strict On disallows late binding.
即使它們的類型,當然聲明。如果我將Class1
的工作函數複製並粘貼到Class2
並嘗試調用它,它會開始給出相同的錯誤。我在Class2
中聲明的任何測試函數都沒有得到其類型的識別,因此被指控嘗試進行後期綁定。
這兩個類都是公開的,所有提到的功能都是Public Shared
。我不明白是什麼使這些類的工作方式不同。就好像我需要在VB知道它的函數類型之前加載或編譯Class2
,但這些東西在VB中被認爲是自動的。
這可能是什麼原因造成的?
當我開始鍵入Class2.
時,智能感知列表是作爲函數,而Class1
被識別爲一個類。
編輯: 如果我將Class2
的確切內容複製到新類中,只將行Public Class ...
更改爲新名稱,一切正常。我認爲這可能是因爲名字太長,所以我把課程複製到AnotherClassWithAReallyLongName
,但是這個也有效。
但是,如果我刪除class2
,並重新添加並粘貼其內容,它仍然不起作用。
您可以與我們分享類聲明以及您使用代碼中類的方式嗎? – 2011-06-17 05:58:21
@Davide類的內容很好,因爲如果我將class2複製到另一個類,所有東西都可以工作。 class2的名字似乎有問題,會更新我的問題。 – Toerndev 2011-06-17 06:54:33
你的代碼中是否還有別的東西,或者是你寫的,或者是名爲'class2'的不同命名空間?如果現在你已經重命名並鍵入'class2.'進入vb你是否有任何intellisense? – CResults 2011-06-17 07:02:39