我有一个枚举(假设是 DemoEnum),我想解析该枚举的值。我正在写
DemoEnum value;
if(DemoEnum.TryParse("input", out value))
{
this.Value = value;
}
现在 resharper 建议我使用基类限定符。
我只是想知道使用基类限定符有什么好处?
最佳答案
通常,最好使用尽可能通用的解决方案。
DemoEnum.TryParse("input", out value)
与以下调用相同(您只是从继承类而不是基类进行静态调用):
Enum.TryParse<DemoEnum>("input", out value)
使用基类限定符 (Enum
) 而不是特定枚举 (DemoEnum
) 将使您免受更改 DemoEnum
可能产生的副作用将来。现实情况是,如果将 DemoEnum 更改为类而不更改名称,您实际上只会遇到问题。
使用类时,这通常是一个更大的问题(ReSharper 在这些情况下会提供相同的指导)。
关于c# - 带有基类限定符的枚举 TryParse,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10384654/