Правильно ли это использовать динамические переменные в C#?Использование LINQ с динамическими переменными в C#
Я получаю ошибку ниже, когда я пытаюсь использовать LINQ выражения с динамической переменной ..
Ошибка - Не удается использовать лямбда-выражение в качестве аргумента к динамически отправленной операции без первого приведения его в качестве делегата или выражение типа дерева
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;
}
}
Вы можете просто нарисовать dAnimal.listFood для IEnumerable –