这是在 C# 中使用动态变量的正确方法吗?
当我尝试将 LINQ 表达式与动态变量一起使用时,出现以下错误。
错误 - 不能将 lambda 表达式用作动态分派操作的参数,除非先将其转换为委托或表达式树类型
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace TestApp
{
class Program
{
static void Main(string[] args)
{
dynamic dAnimal = new Animal();
string cc = dAnimal.x;
Animal oAnimal = new Animal();
var test1 = oAnimal.listFood.Where(a => a.foodName == "");
var test2 = dAnimal.listFood.Where(a => a.foodName == "");//Error
}
}
public class Animal
{
public string animalName {get; set;};
public List<Food> listFood;
}
public class Food
{
public string foodName;
}
}