Da C# keine Unterstützung für freistehende Funktionen bietet, finde ich es schwierig, einen Platz für Umwandlungsfunktionen zu finden. Zum Beispiel möchte ich eine Enumeration in eine Zahl konvertieren. In C++ würde ich die folgende freistehende Funktion dafür machen:Wohin mit den Umwandlungsfunktionen?
Wie kann ich das elegant in C# machen? Soll ich eine statische Dummy-Klasse erstellen, um die Funktion zu halten, und wenn ja, wie finde ich einen aussagekräftigen Namen dafür? Oder sollte ich eine partielle Klasse Convert machen?
Irgendwelche Ideen?
Vielen Dank im Voraus.
Update: Im Nachhinein war mein Beispiel nicht sehr gut gewählt, da es eine Standardkonvertierung zwischen enum und int gibt. Dies wäre ein besseres Beispiel sein:
Person ConvertToPerson(const SpecialPersonsEnum e);
MyEnum e = (MyEnum) 3; oder MyInt i = (Int) e; sind beide akzeptable Möglichkeiten, um zwischen int und enum in C# zu konvertieren.Allerdings setze ich meine Konvertierungsfunktionen immer in eine Utility-Klasse. – jle
+1 'partielle Klasse Convert' ist eine gute Idee. –
Wenn Sie eine Umwandlung von einer Enumeration in eine Klasse Person wünschen, dann ** schreiben Sie einen Konvertierungsoperator **. Warum sollte man sich mit einer Methode herumärgern, wenn man einfach einen Operator schreiben kann, der das macht, was man will? –