I have a List of anonymous types List<'a>, a' is new {OptionSetValue servingTime, OptionSetValue servingGroup, string servingClass, string desc, string childName, Guid childId, EntityReference item, OptionSetValue type, Guid sensitivity}
I have constructed such a list inside a foreach statement and need to add the list to another list of the same type from outside the for loop (groupedAllergies). Obviously what I wrote would not work as object does not contain a definition for the anonymous types I am trying to access. How can I remedy this?!
    var groupedAllergies = new List<object>(); <--- problem
    foreach (var line in items)
    {
        OptionSetValue servingTime = line.servingTime;
        OptionSetValue servingGroup = line.servingGroup;
        string servingClass = line.servingClass;
        string desc = line.desc;
        string childName = line.childName;
        Guid childId = line.childId;
        Guid sensitivity = line.sensitivity;
         var queryAllergyItems = groupAllergies.Where(e => e.servingClass == servingClass
                                                          && e.servingTime == servingTime
                                                          && e.servingGroup == servingGroup
                                                          && e.desc == desc
                                                          && e.allergies.Intersect(allergies).Any()).Select(r => new
                                                          {
                                                              r.item,
                                                              r.type,
                                                              r.allergies
                                                          }).ToList();
         var items = queryAllergyItems.Select(r => new
         {
             servingTime,
             servingGroup,
             servingClass,
             desc,
             childName,
             childId,
             r.item,
             r.type,
             sensitivity = r.allergies.Intersect(allergies).First()
          }).ToList();
          items.ForEach(e => groupedAllergies.Add(e));
    }
     foreach(var allergy in groupedAllergies)
     {
          var servingTime = allergy.servingTime;  
          //object doesn't have definition for servingTime!!
     }
Is this a valid solution?!
var o = new { servingTime = new OptionSetValue(), servingGroup = new OptionSetValue(), servingClass = "", desc = "", childName = "", childId = new Guid(), item = new EntityReference(), type = new OptionSetValue(), sensitivity = new Guid() };
var groupedAllergies = new[] { o }.ToList();
groupedAllergies.Clear();
 
     
    