List <dynamic> -Elemente haben Felder, auf die ich jedoch nicht zugreifen kann. Warum
Ich muss eine Schleife über ein @ machList<dynamic>
objects.
Die Objekte der Liste haben alle Werte, aber aus irgendeinem Grund kann ich auf keines der dynamischen Objektfelder zugreifen. Unten ist ein Screenshot meines Debug-Fensters:
Dort sehen Sie, dass das Objekt Felder enthält (z. B.Alia, Ich würd, Nam, etc)
Ich habe versucht, beide Casting es zu einemIDictionary<string, object>
undExpandoObject
, umsonst. So etwas hatte ich noch nie erlebt: Ich konnte nicht auf vorhandene Felder in einem @ zugreifedynamic
Objektwenn sie existieren.
Was ist hier falsch
Der Code wirft einMicrosoft.CSharp.RuntimeBinder.RuntimeBinderException
mit einer Nachricht, die @ angi{"'object' does not contain a definition for 'Name'"}.
Die Liste wurde erstellt, indem anonym eingegebene Objekte wie folgt hinzugefügt wurden:
return new List<dynamic>(fields.Select(field => new
{
Id = field.Id,
Alias = field.Alias,
Name = field.Name,
Type = field.Type,
Value = field.Value,
SortOrder = field.SortOrder
}));
wofields
ist einICollection<Field>
, eine stark typisierte Sammlung.