gpt4 book ai didi

C# 枚举显示在 Expression.ToString() 上

转载 作者:行者123 更新时间:2023-11-30 12:53:50 24 4
gpt4 key购买 nike

当我在表达式上调用 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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com