Ich habe gesucht (vielleicht nicht genug), konnte aber keine Antwort finden.C#: Gibt es eine Möglichkeit, ein enum als Argument zu übergeben?
Ich möchte eine generische Funktion machen, wo ich eine Enum mit einem CheckedListBox
übergeben kann (erhalten oder setzen Sie den Wert).
public enum TypeFlags
{
None = 0x0,
//List of flag
}
private void makeFlagOrBitmask(CheckedListBox list, Type e)
{
int myFlags = 0x0;
//I want to achieve something like that
foreach (Object item in list.CheckedItems)
{
//(TypeFlags)Enum.Parse(typeof(TypeFlags), item);
//So e should be the enum himself, but i can't figure how to do that
myFlags += (int)((e)Enum.Parse(typeof(e), item.tostring()));
}
}
So kann ich alle Flags mit einer einzigen Funktion machen/lesen.
Das Problem ist, dass ich nicht herausfinden kann, wie das Enum übergeben wird, wie ich es in der Funktion brauche.
Was läuft schief? – MasterXD
Entfernen Sie typeof (e) und lassen Sie Enum.Parse (e ... Wie ist schon ein Typ? – Andez
'typeof (e)' wenn 'e' ist' Type' wird nur geben Sie Typ Objekt für 'Type' , nicht die Enum-Art. Sie möchten einfach "e" an "Enum.Parse" übergeben. – juharr