<分区>
我想要一个方法来从可为空的数据库列中解析一个枚举。 我在下面编写了这个方法(并且必须将 T 限制为结构以使其编译)。
它确实可以编译,但我认为它是错误的,因为枚举不是结构? 如果是这样,我如何限制泛型方法说我期待一个 ValueType 你不必向我提示“只有不可为 null 的值类型可以是 'System.Nullable' 的基础
private static T? ParseEnum<T>(DataRow row, string columnName)
where T : struct
{
T? value = null;
try
{
if (row[columnName] != DBNull.Value)
{
value = (T)Enum.Parse(
typeof(T),
row[columnName].ToString(),
true);
}
}
catch (ArgumentException) { }
return value;
}