【问题标题】:"Visual Basic 10.0 does not support readonly auto-implemented properties" error in Visual Studio 2015Visual Studio 2015 中的“Visual Basic 10.0 不支持只读自动实现的属性”错误
【发布时间】:2016-05-12 13:12:49
【问题描述】:

我继承了一个针对 .NET 框架第 4 版的 VB.NET 网站项目,其中包括以下行:

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

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

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

有没有人遇到过这个错误并找到了一种相对轻松的解决方法?

我已经考虑过将属性更改为函数的情况,因为当它是具有内部逻辑的只读属性并接受可选参数时,这似乎是合乎逻辑的;在这种情况下,我不知道是否允许将任何内容移出 App_Code。

【问题讨论】:

    标签: asp.net vb.net visual-studio-2015


    【解决方案1】:

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

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

    Here is some reading about that question.

    除此之外,您始终可以将属性转换为方法,但您会失去一些功能 (see this answer)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-02-13
      • 2016-07-06
      • 2018-06-02
      • 2017-02-09
      • 2017-03-12
      • 2016-06-05
      • 2015-10-17
      相关资源
      最近更新 更多