微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

vb.net – 私有变量实例化:何时定义或在构造函数内?

我不知道以前是否曾经问过这个问题,但我们今天在工作中正在讨论它.私有变量(共享/静态)是否应该在标注/定义时实例化,或者在构造函数中执行此操作是否更好?

例如,这对我来说似乎完全没问题……

Public Class IpCam

    Private Const HOST As String = "http://test.com/url/example"
    Private Shared _Example As New OurClass(HOST)

    Public Shared ReadOnly Property Example() As OurClass
        Get
            Return _Example
        End Get
    End Property
End Class

但是其他人告诉我它应该这样做……

Public Class IpCam

    Private Const HOST As String = "http://test.com/url/example"
    Private Shared _Example As OurClass

    Public Sub New()
        _Example = New OurClass(HOST)
    End Sub

    Public Shared ReadOnly Property Example() As OurClass
        Get
            Return _Example
        End Get
    End Property
End Class

有什么不同?关于使用哪一个,是否存在共识?

解决方法

这真的是一个偏好问题.我认为更重要的是一致性:如果你在内联中实例化一些变量,而在构造函数中实例化其他变量,则可能会更难维护,因为不清楚实例化的位置.

一个好主意是将变量声明保持在构造函数的上方(这样您就不必跳转来查找所有变量实例化),并实例化内联的所有内容.对于那些需要更复杂的初始化代码的少数对象,可以使用构造函数.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐