以下代码虽然支持泛型约束为枚举,但在C#7.3中无法编译:
using System;
public class Test<T> where T: Enum
{
public void Method()
{
if (!Enum.TryParse<T>("something", out var value))
throw new Exception("Oops");
}
}
我的其他使用Enum
约束的代码是有效的,所以我拥有正确的版本,但它似乎无法调用另一个也被限制为Enum
的方法。
这是一个错误还是我误解了它应该如何工作。