Ich versuche einen DWARF-Parser in C# zu schreiben. DWARF hat das Konzept mehrerer numerischer Typen (DW_FORM_data2
, DW_FORM_data4
, DW_FORM_data8
, , DW_FORM_udata
), die alle in enum-Typen aufgelöst werden können. Ich würde gerne eine IConstant
machen, die die zuvor genannten DW_FORM_*
Klassen implementieren, die Sie in eine enum (genauso wie Sie ushort
, int
etc. zu einer enum werfen können) werfen können.Wie man einen neuen numerischen Typ erstellt, der in CU in eine Aufzählung umgewandelt werden kann #
Ein Cast-Operator ist jedoch eine statische Methode, und ich kann das nicht auf eine Enum setzen. Wie wird eine Gruppe von numerischen Typen erstellt, die in enums umgewandelt werden können? Ein komplizierender Faktor ist, dass die Größe (8 Bits, 32 Bits usw.) einer DW_FORM_udata
oder DW_FORM_sdata
Nummer nicht definiert ist, bis sie decodiert ist.
Möchten Sie in der Lage sein, zu jeder 'enum' zu casten? – NetMage
Warum möchten Sie casten und haben nicht nur eine Methode, um die Konvertierung durchzuführen? – DavidG
Ja. Irgendein enum. Vielleicht ist eine Methode der richtige Weg. Also einfach eine 'ToEnum()' Methode auf der Oberfläche hinzufügen? Das könnte die Antwort sein, nach der ich suche. Würden Sie 'ToEnum' generisch machen? – watkipet