【发布时间】:2020-07-28 16:39:23
【问题描述】:
在对 VB 自动属性进行了一些令人沮丧的研究之后。我决定不理他们。所以我有这个代码。
Public Class Categoria
Private _nome As String
Public ReadOnly Property Nome As String
Get
Return _nome
End Get
End Property
Public Sub New(nome As String)
Me._nome = nome
End Sub
End Class
但 Visual Studio 很有帮助,建议使用自动属性。我同意了,我之前什至尝试过,但他以 单击此处的形式提供帮助,我会这样做。所以我做了。而且他执行的代码与我之前没有任何运气的代码完全相同,逐个字符。
Public Class Categoria
Public ReadOnly Property Nome As String
Public Sub New(nome As String)
Me.Nome = nome
End Sub
End Class
有人能解释一下为什么最后一段代码无法使用error BC30126: 'ReadOnly' property must provide a 'Get'. 编译吗?
显然VS缺少和我一样的东西,所以我不再觉得那么愚蠢了。
【问题讨论】:
-
您的代码看起来不错,可以在我的 Visual Studio 和 in dotnetfiddle 中编译。您是否可能以某种方式(我不知道该怎么做)使用旧版本的 VB.NET 编译器?
-
@Heinzi 谢谢。我正在使用几天前安装的 VS 2019。问题显然不在我发布的代码中。这正是我必须展示的。其他一些自动属性在不同的地方工作。我只是想不通为什么这个不起作用。
-
啊,这改变了一切。它是 ASP.NET 网站项目吗?在这种情况下,you need to tweak your web.config file.
-
不管这里是否是这种情况,我已经看到 Visual Studio 推荐的更改一旦进行就不会编译(在我的情况下是 VS 2017)。
标签: vb.net