作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
当我在表达式上调用 ToString() 方法时,枚举值打印为整数。是否有一些格式过载?
也许我可以从表达式创建一个派生类并覆盖一些 ToString 方法。有什么想法吗?
这是一个示例:
public enum LengthUnits { METRES, FEET };
Expression<Func<LengthUnits, bool>> isFeet = l => l == LengthUnits.FEET;
string isFeetFunctinoAsString = isFeet.ToString();
isFeetFunctinoAsString 的值为:
u => (Convert(u) = 1)
我不想要 1 而是 FEET 。
最佳答案
这在表达式中是不可能的,因为甚至在您可以干扰表达式之前,枚举已经被转换为整数。
您可能想检查何时有左侧或右侧参数的二进制表达式,然后手动转换,但我不建议这样做。
关于C# 枚举显示在 Expression.ToString() 上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1405873/
我是一名优秀的程序员,十分优秀!