Public Class Singleton(Of T As New)
Private Shared pInstance As T = Nothing
Private Shared pLocker As Object = New Object()
''' <summary>
''' Propriété permettant de retourn‚e une instance unique … l'instance de classe pass‚ en paramŠtre.
''' </summary>
''' <returns>R‚f‚rence unique … l'instance de classe.</returns>
Public Shared ReadOnly Property Instance() As T
Get
SyncLock (pLocker)
If pInstance Is Nothing Then
pInstance = New T()
End If
Return pInstance
End SyncLock
End Get
End Property
End Class