Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net Activator.CreateInstance-解释它以便我能理解_Vb.net_Design Patterns_Singleton - Fatal编程技术网

Vb.net Activator.CreateInstance-解释它以便我能理解

Vb.net Activator.CreateInstance-解释它以便我能理解,vb.net,design-patterns,singleton,Vb.net,Design Patterns,Singleton,因此,我正在查看一些示例代码,我不确定该如何处理: Private Shared _instance As PollsProvider = Nothing Public Shared ReadOnly Property Instance() As PollsProvider Get If IsNothing(_instance) Then _instance = CType(Activator.Create

因此,我正在查看一些示例代码,我不确定该如何处理:

    Private Shared _instance As PollsProvider = Nothing

    Public Shared ReadOnly Property Instance() As PollsProvider
        Get
            If IsNothing(_instance) Then
                _instance = CType(Activator.CreateInstance( _
                    Type.GetType(Globals.Settings.Polls.ProviderType)), PollsProvider)
            End If
            Return _instance
        End Get
    End Property
以上内容与我通常的单身生活方式有什么区别:

    Private Shared _instance As PollsProvider = Nothing

    Public Shared ReadOnly Property Instance() As PollsProvider
        Get
            If IsNothing(_instance) Then
                _instance = New PollsProvider
            End If
            Return _instance
        End Get
    End Property

第一个代码片段读取要从配置创建的PollsProvider类型,而第二个代码片段中编译了PollsProvider类型。因此,第一个片段允许您在RealPollsProvider、TestPollsProvider、FiddledByOurEvilPaymastersPollsProvider等之间进行配置切换(无需重新编译/重新部署)。

第一个代码片段读取要从配置创建的PollsProvider类型,而第二个代码片段则编译了PollsProvider类型。因此,第一个片段允许您在RealPollsProvider、TestPollsProvider、FiddledByOurEvilPaymastersPollsProvider等之间进行配置切换(无需重新编译/重新部署)。

我没弄错。我将添加看起来像PollsProvider的接口或类,其他类从中继承

伊托尔森做对了。我将添加看起来像PollsProvider的接口或类,其他类从中继承