мне нужна ваша помощьC# Linq, определение объекта не содержит свойство
Я просто написал следующий код
var anynomousObject = new { Amount = 10, weight = 20 };
List<object> ListOfAnynomous = new List<object> { anynomousObject };
var productQuery =
from prod in ListOfAnynomous
select new { prod.Amount, prod.weight }; // here it object on 'prod.Amount, prod.weight' that the object defenetion does not contains the "Amount" and "weight" properties
foreach (var v in productQuery)
{
Console.WriteLine(v.Amount, v.weight);
}
поэтому, пожалуйста, не могли бы вы помочь мне решить эту проблему.
Попробуйте '' вместо 'List
Поскольку это анонимный объект, и вы помещаете его в список объектов, компилятор не знает определения вашего анонимного объекта при его установке. Вам нужно, если вы хотите создать класс или структуру, только работайте динамически. – cdie
Вы не можете использовать 'object' и ожидать, что вы можете использовать все свойства или методы без кастинга. Но кастинг анонимному типу невозможно (легко). Посмотрите на метод Jon Skeets 'GrottyHacks.Cast', который приводится на примере. http://codeblog.jonskeet.uk/2009/01/09/horrible-grotty-hack-returning-an-anonymous-type-instance/ Ваш «anynomousObject» будет примером. –