出于某种原因,此语句运行良好:
vms.Where(vm => vm.MessageType == ValidationMessage.EnumValidationMessageType.Warning)
但是如果在类的顶部,我定义了一个别名(以节省空间):
using MsgType = ValidationMessage.EnumValidationMessageType;
然后生成的代码行:
vms.Where(vm => vm.MessageType == MsgType.Warning)
给我一个错误:
“委托 ' System.Func<ValidationMessage, int, bool>
' 不接受 1 个参数”。奇怪的是这不是我使用的代表。我正在使用 - 的 ' System.Func<ValidationMessage, bool>
' 重载,.Where<>()
与我不使用别名时相同。
请注意,使用别名的其他任何地方都可以正常工作,只是在这些 linq 委托中它会中断。为什么会这样?