2016-03-03 143 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

相关问题