加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-17 07:28:08 所属栏目:百科 来源:网络整理
导读:我不知道以前是否曾经问过这个问题,但我们今天在工作中正在讨论它.私有变量(共享/静态)是否应该在标注/定义时实例化,或者在构造函数中执行此操作是否更好? 例如,这对我来说似乎完全没问题…… Public Class IpCam Private Const HOST As String = "http://t
我不知道以前是否曾经问过这个问题,但我们今天在工作中正在讨论它.私有变量(共享/静态)是否应该在标注/定义时实例化,或者在构造函数中执行此操作是否更好?

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

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

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

解决方法

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

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读