有没有办法以字符串形式获取枚举的名称/定义/类型?我想将此值用于记录目的。我当前正在使用静态文本,但如果/当枚举被重命名时,输出将不再正确。
额外问题:枚举的名称/定义/类型的技术术语是什么?
这是一个示例场景。
public enum MyEnum
{
Foo,
Bar
}
var value = MyEnum.Bar;
var name = ???
var output = $"The enum is: {name}.{value}";
预期结果:“枚举是:MyEnum.Bar”
当前解决方案:
var output = $"The enum is: MyEnum.{value}";
最佳答案
这可以通过 nameof 解决:
var value = MyEnum.Bar;
var name = nameof(MyEnum);
var output = $"The enum is: {name}.{value}";
输出:
The enum is: MyEnum.Bar
I am currently using static text but if/when the enum is renamed then the output would no longer be correct.
使用 nameof(MyEnum)
将允许您在 VisualStudio 中自动重命名此引用,而静态字符串不会被自动捕获
关于c# - 获取枚举的名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52312365/