Brian:
I ran this through the C# to Vb web tool and below is what I got (After I took out the
comments).
Questions:
1) What is _value?
2) How is it different from the bottom class? What functionality does it give me
that the bottom class doesn't?
3) What is volatile?
NotInheritable Public Class Singleton
Private Shared Singleton As volatile
Private __unknown As _value
Private Shared syncRoot = New [Object]()
Public Shared ReadOnly Property Value() As Singleton
Get
If _value Is Nothing Then
SyncLock syncRoot
If _value Is Nothing Then
_value = New Singleton()
End If
End SyncLock
End If
Return _value
End Get
End Property
End Class
NotInheritable Public Class Singleton
Private Shared mValue as Singleton
Public Shared ReadOnly Property Value() As Singleton
Get
If mValue Is Nothing Then
mValue = New Singleton()
End If
Return mValue
End Get
End Property
End Class
You can read messages from the Advanced DOTNET archive, unsubscribe from Advanced
DOTNET, or
subscribe to other DevelopMentor lists at http://discuss.develop.com.