INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

.NET Enum und Case Structure



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

12.12.2014, 12:39
Beitrag #1

richnsim Offline
LVF-Neueinsteiger


Beiträge: 1
Registriert seit: Dec 2014

14.0
2013
kA



.NET Enum und Case Structure
Hallo,

Ich experimentiere gerade etwas mit Labview (14.0) und .NET (4.0). Dabei ist mir aufgefallen, dass wenn meine .NET Funktion als Parameter oder Rückgabewert ein Enum hat, wird dieses automatisch vom LabView erkannt. Wenn ich aber mit dem .NET Enum auf eine Case Structure gehe, wird dort nicht der Enum, sondern der entsprechende Integer angezeigt:

   

Ist das von NI mit Absicht so gewollt, oder kann ich das irgendwo umstellen, dass es mir den Enum statt den Integer-Wert anzeigt?

Hier meine C# Klasse:
Code:
namespace EnumTest
{
    public enum LinkType
    {
        Rs232,
        Ethernet
    }

    public enum SpeedType
    {
        Slow,
        Fast,
        Unknown
    }

    public class SpeedTester
    {
        public SpeedType GetSpeed(LinkType linkType)
        {
            if (linkType == LinkType.Ethernet)
                return SpeedType.Fast;

            else if (linkType == LinkType.Rs232)
                return SpeedType.Slow;

            else
                return SpeedType.Unknown;
        }
    }
}

Grüsse, Simon
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
12.12.2014, 12:45 (Dieser Beitrag wurde zuletzt bearbeitet: 12.12.2014 12:49 von jg.)
Beitrag #2

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: .NET Enum und Case Structure
Schau mal genau hin, LabVIEW erzeugt automatisch ein LabVIEW-Ring-Control mit den entsprechenden Werten, kein LabVIEW-Enum!!!

EDIT: Das ist auch richtig und durchaus so gewollt, den es gibt hier Unterschiede:
LabVIEW Enum: Numerische Werte bei 0 beginnend, und immer um 1 nach oben zählend. Es sind keine Lücken erlaubt
.NET: Es kann beliebigen numerischen Werte ein String zugewiesen werden, es dürfen Lücken sein, etc. pp., das entspricht in LabVIEW dann einem Ring.

Gruß, Jens

Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)

!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Gehe zu: