这个问题通常发生在传递参数时出错。 如果第二个参数需要的是一个 Func
类型的委托,但你传递了一个 bool
类型的参数时就会出现这个错误。 解决方法是确保第二个参数是一个代表逻辑函数的委托,而不是一个简单的布尔值。
例如:假设你有一个名为 IsCashGreaterThanZero
的静态方法,该方法接受一个 DAL.Cash
对象并返回一个布尔值,表示该对象是否大于零。 那么可以将 IsCashGreaterThanZero
传递给第二个参数,或者使用一个匿名函数将逻辑嵌入到代码中:
bool isCashGreaterThanZero = true; // 假设这里有一个布尔值
List cashList = // 这里有一个现有的 Cash 列表
var filteredCash = cashList.Where(c => IsCashGreaterThanZero(c)); // 使用静态方法
var filteredCash = cashList.Where(c => c.Amount > 0); // 使用匿名函数
上一篇:Argument1passedtoArrayCollection::__construct()mustbeofthetypearrayobjectgiven”(必须是数组类型而不是对象类型)
下一篇:Argument2mustbepassedwiththe'ref'keyword(第二个参数必须带上'ref'关键字)