Moin!
in ENUM - cint und tostring verkoppeln hat man mir den Tipp gegeben eine ENUM-Extension zu verwenden.
Zu meiner Umgebung.
Ich habe eine Klasse in der die ENUM's definiert sind. Diese befindet sich in einem Projekt.
Spoiler anzeigen
In einem anderen Projekt habe ich einen Verweis auf dieses Projekt gelegt.
An der Stelle, wo ich auf das Enum zugreifen will habe ich dieses eingebunden.
Ich möchte nun einen Konvertierung auf die Werte der ENUM's verwenden.
Wie gesagt hat man mir den Tipp der EnumExtensions gegeben.
In das Projekt mit den ENUM-Definitionen habe ich ein Modul eingefügt und dort die Extension eingebaut.
Aber wenn ich jetzt im Code, wo ich auf die Konvertierung zugereifen will, im Kontextmenü nachschaue, dann ist da kein GetEnumString bzw. GetEnumInt zu finden.
Habe ich da einen generellen Verständnisfehler? Ist vielleicht etwas falsch bei dem Zugriff auf das andere Projekt?
Gruß Jan
in ENUM - cint und tostring verkoppeln hat man mir den Tipp gegeben eine ENUM-Extension zu verwenden.
Zu meiner Umgebung.
Ich habe eine Klasse in der die ENUM's definiert sind. Diese befindet sich in einem Projekt.
VB.NET-Quellcode
- Public Class TBD
- '------ http://ms-wiki-1/eblwiki/index.php?title=TBD_(Klasse_von_EBL.Parameter) ------
- ''' <summary>
- ''' welche FeatureClass ist anzulegen
- ''' </summary>
- Public Enum FeatureClasses
- WW_Manhole
- AW_Pumpwerk
- AW_ANSCHLUSSPUNKT
- End Enum
- '------- Aktiv oder nicht, hier gelistet auch, wenn keine richtige TBD
- Public Enum ActivStatus
- undefiniert = -1
- Ja = 1
- Nein = 0
- End Enum
- '------- Verbindungsart ------- siehe WW_FITTING_FUNCTION_TBD
- Public Enum Fitting
- undefiniert = -1 ' von der Programmierung ergänzt
- EntwRinneZuAblauf = 9
- Gebäudeanschluss = 10
- Regenfallrohr = 11
- Straßenablauf = 12
- NN = 13
- RohrEndeVerschlossen = 15 ' auch als Verschlussteller bezeichnet
- EntwImGebaeude = 16
- StutzenRechts = 101
- StutzenLinks = 102
- AbzweigerRechts = 103
- AbzweigerLinks = 104
- StutzenOben = 105
- StutzenUnten = 106
- AbzweigerOben = 107
- AbzweigerUnten = 108 ' gilt auch für Absturz
- Ablauf_aussenliegend = 1001
- Ablauf_innenliegend = 1002
- Spülstutzen_mit_Schacht = 1003
- Spülstutzen_mit_Kappe = 1004
- Roste_mittig = 1005
- Roste_seitlich = 1006
- ReinigungsOeffnung = 1007 'Revisionsöffnung
- End Enum
- End Class
In einem anderen Projekt habe ich einen Verweis auf dieses Projekt gelegt.
An der Stelle, wo ich auf das Enum zugreifen will habe ich dieses eingebunden.
Ich möchte nun einen Konvertierung auf die Werte der ENUM's verwenden.
Wie gesagt hat man mir den Tipp der EnumExtensions gegeben.
In das Projekt mit den ENUM-Definitionen habe ich ein Modul eingefügt und dort die Extension eingebaut.
VB.NET-Quellcode
- Imports System.Runtime.CompilerServices
- Module EnumExtensions
- <System.Runtime.CompilerServices.Extension()>
- Public Function GetEnumString(enumVal As [Enum]) As String
- Return enumVal.ToString
- End Function
- <System.Runtime.CompilerServices.Extension()>
- Public Function GetEnumInt(enumVal As [Enum]) As Integer
- Return Convert.ToInt32(enumVal)
- End Function
- End Module
Aber wenn ich jetzt im Code, wo ich auf die Konvertierung zugereifen will, im Kontextmenü nachschaue, dann ist da kein GetEnumString bzw. GetEnumInt zu finden.
Habe ich da einen generellen Verständnisfehler? Ist vielleicht etwas falsch bei dem Zugriff auf das andere Projekt?
Gruß Jan