Frage

Wenn ich / CLR: oldSyntax folgende arbeiten:

public __value enum IceCreamFlavors
{
   Vanilla,
   Chocolate,
   Sardine,
};

was ist das Äquivalent in nicht-oldSyntax? Wie kann ich eine "managed" Enum in Managed C ++ für .NET 2.0?

erklären

Edit: wenn ich JaredPar Beratung folgen, dann, wenn ich versuche, eine IceCreamFlavor auf eine Funktion, mit der Signatur zu übergeben:

OrderFlavor(IceCreamFlavors flav)

durch Ausführen

OrderFlavor(IceCreamFlavors::Sardine)

Ich erhalte die Fehlermeldung:

'IceCreamFlavors Sardine' : member function redeclaration not allowed
War es hilfreich?

Lösung

Versuchen

enum class IceCreamFlavors {
  Vanilla,
  Chocolate,
  Sardine,
};

Andere Tipps

Sind Sie durch Zufall, versuchen, Ihre Enum innerhalb einer anderen Klasse zu erklären? dh:

public ref class Icecream
{
     public enum class flavours
     {
          Mint,
          Vanilla,
          Guac
     };
};

Wenn Sie sind, ich würde vermuten, dass Sie es verschieben müssen, so dass sie ihre eigene Klasse ist statt eines verschachtelten ein. (Ist c verwaltet ++ verschachtelte Klassen erlauben?) Mein Eindruck ist, dass man verwendet, um es innerhalb einer anderen Klasse nicht verwalteten Stil zu tun, aber da seine seine eigenen Klasse jetzt, sollten Sie wahrscheinlich nicht, sie nisten. Ich könnte falsch liegen. Mein Wissen von Managed C ++ und C # ist eine Art schwach.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top