我有一个带有通用返回类型的函数。如果值参数是一个有效的 enum 值,则方法返回相关的 enum 值。
如何返回相关的 enum 值? 编译器错误: 无法将 Int 类型转换为 T?
public static T? GetEnumValue<T>(int? value)
{
if (value == null)
{
return null;
}
try
{
var enumValues = Enum.GetValues(typeof(T));
foreach (object enumValue in enumValues)
{
if (Convert.ToInt32(enumValue).Equals(value))
{
// ERROR: Cannot convert type int? to T
return (T)value;
}
}
}
catch (ArgumentNullException)
{
}
catch (ArgumentException)
{
}
catch
{
}
return null;
}
谢谢