Return to Snippet

Revision: 2374
at February 5, 2007 09:29 by lfbarbieri


Initial Code
'http://dotnet.mvps.org/dotnet/faqs/?id=anytypeenums&lang=en
'
''' <completionlist cref="T:StringEnum.ClipboardType" />    ' This makes Intellisense work
<Serializable()> _
Public Structure ClipboardType

#Region "Member Variables"

    Private m_Value As String

#End Region

#Region "Constructor"

    Private Sub New(ByVal Value As String)
        m_Value = Value
    End Sub

#End Region

#Region "Public Methods"

    Public Overrides Function ToString() As String
        Return m_Value
    End Function


    Public Overloads Overrides Function Equals(ByVal obj As Object) As Boolean
        Return DirectCast(obj, ClipboardType).ToString() = m_Value
    End Function

    ' '=' Operator overloading stuff (VB 2005). 
    Public Shared Operator =(ByVal left As ClipboardType, ByVal right As ClipboardType) As Boolean
        Return left.m_Value = right.m_Value
    End Operator

    Public Shared Operator <>(ByVal left As ClipboardType, ByVal right As ClipboardType) As Boolean
        Return left.m_Value <> right.m_Value
    End Operator

#End Region

#Region "Enumerations"

    Public Shared ReadOnly Property Rtf() As ClipboardType
        Get
            Return New ClipboardType("RTF")
        End Get
    End Property

    Public Shared ReadOnly Property Bitmap() As ClipboardType
        Get
            Return New ClipboardType("Bitmap")
        End Get
    End Property

    Public Shared ReadOnly Property Text() As ClipboardType
        Get
            Return New ClipboardType("Text")
        End Get
    End Property

    Public Shared ReadOnly Property Garble() As ClipboardType
        Get
            Return New ClipboardType("Garble")
        End Get
    End Property

    ' OR This works too
    'Public Shared ReadOnly Rtf As New ClipboardType("RTF")
    'Public Shared ReadOnly Bitmap As New ClipboardType("Bitmap")
    'Public Shared ReadOnly Text As New ClipboardType("Text")
    'Public Shared ReadOnly Garble As New ClipboardType("Garble")

#End Region

End Structure

Initial URL
http://dotnet.mvps.org/dotnet/faqs/?id=anytypeenums&lang=en

Initial Description


Initial Title
String Enumerations

Initial Tags


Initial Language
VB.NET