Visual Studio 2015中的"Visual Basic 10.0不支持只读自动实现的属性"错误

Bra*_*rtz 6 vb.net asp.net visual-studio-2015

我继承了一个VB.NET Web站点项目,该项目面向.NET框架的第4版,其中包括以下行:

Public ReadOnly Property Foo(Optional ByVal MyShort As Short = -1, Optional ByVal MyBool As Boolean = True) As String
     Get
         'logic
         return Bar
     End Get
End Property
Run Code Online (Sandbox Code Playgroud)

我正在使用Visual Studio 2015并且无法使用该行构建项目,因为我收到错误"Visual Basic 10.0不支持只读自动实现的属性".

我遇到了一个问题,它描述了一个错误"VB 9不支持自动实现的属性"并指出了Roslyn编译器中的一个错误,并建议尽可能多地移动到App_Code之外以避免这个问题.

有没有人遇到这个错误,发现一个相对无痛的方式呢?

我已经考虑过将属性更改为函数的情况,因为当它是一个内部逻辑带有可选参数的readonly属性时,它似乎是合乎逻辑的; 在这种情况下,我不知道允许从App_Code移出任何东西.

Mar*_*ans 1

我不知道这个错误,也不知道如何绕过它,但是将此属性更改为方法的问题是有意义的。

我要问的问题是:“这个属性首先应该是一个方法吗?”

这是关于这个问题的一些阅读。

除此之外,您始终可以将属性转换为方法,但您会失去一些功能(请参阅此答案