Benutzer mit den meisten Antworten
Enum und Zahlen

Frage
Antworten
-
Hallo Volker,
nein, das geht nicht. Siehe:
http://msdn.microsoft.com/de-de/library/81ed9a62.aspx
Setz mind. einen Buchstaben davor, dann gehts.
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community- Als Antwort markiert Volker Straehle Freitag, 13. Januar 2012 14:16
Alle Antworten
-
Hallo Volker,
nein, das geht nicht. Siehe:
http://msdn.microsoft.com/de-de/library/81ed9a62.aspx
Setz mind. einen Buchstaben davor, dann gehts.
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community- Als Antwort markiert Volker Straehle Freitag, 13. Januar 2012 14:16
-
Hallo Stefan,
das war die Antwort, die ich nicht hören wollte. Aber gut.
Zur Erklärung. Ich habe hier MS Dynamics NAV. Darauf kann man relativ einfach mit Webservices zugreifen. In diesen Webservices werden die Optionen für einzelne Felder mittels Enum dargestellt. NAV selbst kann mit Werten wie "1kg" in den Optionen umgehen. Als Enum wird aber so etwas grauenvolles wie "_x0031_kg" daraus.
Volker
Und Abends ein Glas Wein von AMAVINO -
Hallo Volker,
für einen Webservice könnte es gehen (hab ich aber nie probiert).
Du kannst den Enumwerten über das XmlEnum Attribut Werte geben, die dann für die Webservices (Skript und Xml) verwendet werden. Ggfs. stören die sich nicht an einer Zahl als erstes Zeichen. Das sieht dann bspw. so aus:
Imports System.Xml.Serialization Namespace MyNameSpace Public Class MyEnums Public Enum Blubb As Integer <XmlEnum( "--" )> None = 0 <XmlEnum( "1Abc" )> Value1 = 1 <XmlEnum( "2Def" )> ValueAbc = 2 End Enum End Class End NameSpace
Wie gesagt, probiert hab ich das nicht. Wäre aber nett, wenn Du eine kurze Rückmeldung geben könntest, ob es funktioniert.
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community -
Hi Stefan,
das müßten dann aber die Jungs und Mädels bei MS in NAV einbauen. Darauf wie NAV seine Webservices veröffentlicht habe ich leider keinen Einfluß. Allerdings wird man Enum trotzdem nicht in VS verwenden können. Die Einschränkungen für die Namensgebung der Enum-Werte bleiben ja trotzdem bestehen.
Volker
Und Abends ein Glas Wein von AMAVINO -
Hallo Volker,
Nö. Das musst Du in deiner VB Anwendung einbauen. Es werden ja in der Regel Proxyklassen beim Abonnieren eines Webservice erzeugt. Die kannst Du genauso anpassen wie andere Codedateien auch.
Du willst ja, wenn ich das richtig verstanden habe, in Nav mit Werten arbeiten, die dann über den Webservice als "1kg", "200g", ... übermittelt werden. In deiner VB Anwendung musst Du codeseitig mit den eigentlichen Werten arbeiten, also bspw.:
Dim x As MyEnums.Blubb = MyEnums.Blubb.ValueAbc
Der Webserviceproxy wird beim Erzeugen und Annehmen der XML Nachrichten mit dem XmlEnum Wert arbeiten und das automatisch richtig umsetzen.
Nachtrag: Das mit dem "nicht probiert" bezieht sich nur auf die Zahlen an der ersten Stelle des XmlEnum Werts. Generell mit XmlEnums arbeite ich häufig, das funktioniert einwandfrei.
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community
- Bearbeitet Stefan FalzModerator Freitag, 13. Januar 2012 14:52
-
Aber kurz mal den Webservice aktualisieren ist dann nicht mehr, oder?
Bei dem angedachten Weg (Navision stellt die Webservices) nicht. Die Änderung muss dann immer nachgezogen werden, wobei sich das ja in überschaubaren Grenzen hält.
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community