2016-11-03 50 views
1

我有一个简单的问题。在vb.net中使用显式获取语句的一行ReadOnly属性和ReadOnly之间的区别

单行ReadOnly PropertyReadOnly Property之间是否有差异,并带有明确的Get声明?

例如,在Visual Studio 2010中我曾经有过这样做:

Private _Message As String = "" 

Public ReadOnly Property Message As String 
    Get 
     Return _Message 
    End Get 
End Property 

Public Sub New(Message As String) 
    _Message = Message 
End Sub 

但现在我在这里在Visual Studio 2015年,它让我这个脱身:

Public ReadOnly Property Message As String 

Public Sub New(Message As String) 
    Me.Message = Message 
End Sub 

现在我不想懒惰,只是碰到它,期待IntelliSense强制执行Get声明。所以我仍然想知道我是否应该注意到这种差异。这是不好的做法还是做一些不同的事情?

我在C#中找到了大量关于ReadOnly的主题和论坛,但是当我搜索关于vb.net的主题时,我似乎要干了。

我会感激任何输入。 谢谢! =)

+0

我觉得他们差不多都是这样做的。我无法验证这一点,但您可以反编译您的应用程序并检查代码/ IL。 –

回答

3

没有显式getter和setter的属性只是一个语法方便。实施没有任何区别。您通常应该使用第二个选项,因为它使您的代码更具可读性。如果您需要额外的功能,请仅使用第一个选项。

+0

好的,那就是我所希望的。我全都是关于可读性的,当需要添加一堆ReadOnly属性时,这将会派上用场。事实上,在几个项目之前有这样的便利实际上会很好。谢谢! – Hawkeye

相关问题