Windows Azure Cloud Storage ermöglicht es Ihnen bereits ab 0,10€ pro GB/Monat die Vorteile der Cloud zu nutzen.
Willkommen bei dotnet-snippets.de! Snippet hinzufügen Login Registrieren
Snippets in der Datenbank: 1550 | Anzahl registrierter User: 1839 | Besucher online: 35
Hauptmenü
Home
Top Ten
Zufälliger Snippet
FAQs
.NET Community
dotnet-forum.de
dotnet-kicks.de
Social

RSS Feeds
Rss Alle Snippets
Rss C#
Rss VB.NET
Rss C++
Rss ASP.NET
Partner
Member of Microsoft Community Leader/Insider Program (CLIP)

Enum Handling


Autor: Jürgen Gutsch
Sprache: VB.NET
Bewertung: 5
(1 Bewertung)
Anzahl der Aufrufe: 17741
  
Kick it on dotnet-kicks.de  

Beschreibung:

zwei kleine Funktionen, um
1. die EnumMember Namen anhand eines Enum Wertes zu ermitteln und
2. den Enum Wert anhand eines EnumMember Namens zu ermitteln


Abgelegt unter: Enum.



Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
    <FlagsAttribute()> _
    Public Enum EAccessType As Integer
        change = 1
        insert = 2
        delete = 4
        move = 8
        copy = 16
    End Enum

    ' ermittelt die EmumMember Namen
    ' Bsp: ist Value 7 (change AND insert AND delete) ist das Ergebnis {"change", "insert", "delete"}
    Public Function GetEnumItemNames( _
            ByVal Value As EAccessType) As String()
        Dim a As String
        Dim b As String
        Dim c As String()

        a = Value.ToString
        a = a.Replace(" ", "")
        c = Split(a, ",")

        a = ""
        For Each b In c
            If a <> "" Then a &= ","
            a &= GetEnumValue(b)
        Next

        c = Split(a, ",")

        Return c
    End Function

    ' Ermittel den EnumMember Wert anhand dessen Namen 
    Private Function GetEnumValue(ByVal strName As String) As EAccessType
        Enum.Parse(EAccessType.GetType(), strName) ' @_ntr_: danke ;-)
    End Function
Sie haben Fragen zu diesem Snippet oder brauchen Hilfe bei der .NET Entwicklung?
Freundliche und kompetente Entwickler helfen Ihnen gern weiter im Forum für .NET Entwicklung.



Kommentare:
(Zum Schreiben von Kommentaren bitte anmelden.)

_ntr_ schrieb am:  13.12.2006 04:57:32

Hallo Jürgen Gutsch,
mein Verbesserungsvorschlag: anstatt ein Select-Case Konstrukt folgendes verwenden:
Enum.Parse(EAccessType.GetType(), "delete")


Das ist weitaus generischer, und ist auch für Erweiterungen im enum gefeiter (außerdem weniger Tipparbeit ;-)

Gruß
_ntr_
Carschrotter schrieb am:  08.07.2011 16:45:50


Private Function GetEnumValue1(ByVal strName As String) As EAccessType
Dim EAccessType As New EAccessType 'erstellen eines Dumys
Return System.Enum.Parse(EAccessType.GetType(), strName) ' bezieung auf din richtigen namespace
End Function

Private Function GetEnumValue2(ByVal strName As String, ByVal myenum As System.Enum) As System.Enum
Return System.Enum.Parse(myenum.GetType(), strName) ' bezieung auf din richtigen namespace
End Function


schlecht sehr gut
1 2 3 4 5 6 7 8 9 10
Nur angemeldete User können Snippets bewerten.