Приведение Int к общему перечислению в C#C#

Место общения программистов C#
Ответить
Anonymous
 Приведение Int к общему перечислению в C#

Сообщение Anonymous »

Аналогично приведению int к перечислению в C#, но мое перечисление является параметром универсального типа. Каков лучший способ справиться с этим?

Пример:

private T ConvertEnum(int i) where T : struct, IConvertible
{
return (T)i;
}


Выдает ошибку компилятора. Невозможно преобразовать тип «int» в «T».

Полный код выглядит следующим образом, где значение может содержать int или null.

private int? TryParseInt(string value)
{
var i = 0;
if (!int.TryParse(value, out i))
{
return null;
}
return i;
}

private T? TryParseEnum(string value) where T : struct, IConvertible
{
var i = TryParseInt(value);
if (!i.HasValue)
{
return null;
}

return (T)i.Value;
}


Подробнее здесь: https://stackoverflow.com/questions/103 ... in-c-sharp
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»