Umwandeln von Int in generische Aufzählung in C #
Ähnlich zuCast int to enum in C # Meine Aufzählung ist jedoch ein generischer Typparameter. Was ist derBeste Art und Weise damit umzugehen?
Beispiel:
<code>private T ConvertEnum<T>(int i) where T : struct, IConvertible { return (T)i; } </code>
Erzeugt einen CompilerfehlerCannot convert type 'int' to 'T'
Der vollständige Code lautet wie folgt, wobei value den Wert int oder null enthalten kann.
<code>private int? TryParseInt(string value) { var i = 0; if (!int.TryParse(value, out i)) { return null; } return i; } private T? TryParseEnum<T>(string value) where T : struct, IConvertible { var i = TryParseInt(value); if (!i.HasValue) { return null; } return (T)i.Value; } </code>