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.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage