2016-03-03 64 views
0

在將vb.net代碼從Visual Studio 2008升級到Visual Studio 2015的過程中,我得到一個未聲明'Integer'。由於其保護級別,它可能無法訪問。錯誤上下面的代碼:vb.net當升級到Visual Studio 2015時,方括號導致錯誤

[Integer].TryParse(...) 

誤差時,也會發生類似的代碼與[日期] .TryParse。原始代碼和升級代碼的目標框架是.NET Framework 3.5。升級目標框架並不重要。如果我刪除方括號,代碼編譯。有誰知道爲什麼這個語法在Visual Studio 2008中工作,但不是Visual Studio 2015?

+2

的arent需要的方括號,除非你異想天開地使用它作爲一個變量或屬性 – Plutonix

+2

的名字很可能是沒有得到轉換到一個怪癖Roslyn編譯器。您可以刪除方括號,如果您指的是課程,則不需要它們。 – Blorgbeard

+1

我不明白爲什麼那些括號會在第一位。括號的要點是向編譯器表明你想使用關鍵字作爲標識符。在這種情況下,您正在調用一個類型的'Shared'成員,因此您特別希望'Integer'或'Date'被解釋爲關鍵字,即它們的內在類型。你有時會看到用'String'完成的工作,但這是可行的,因爲'String'是一個.NET類型。 Integer和Date不是.NET類型。對應於這些內在類型的.NET類型是「Int32」和「DateTime」。 – jmcilhinney

回答

1

由於@Plutonix @Blorgbeard和@jmcilhinney都回答了評論,您需要刪除方括號。轉換爲社區wiki in line with this meta post推薦,從'未答覆'部分刪除。

@ jmcilhinney

支架的整點是,以指示要使用關鍵字作爲標識符的編譯器。在這種情況下,您正在調用某個類型的共享成員,因此您特別希望Integer或Date被解釋爲關鍵字,即它們的內在類型。你有時會看到用String完成的工作,但這是可行的,因爲String是一個.NET類型。整數和日期不是.NET類型。對應於那些固有類型的.NET類型的Int32和DateTime

相關問題