Вы должны привести ExpandoObject
к IDictionary<string, object>
:
var messageLocation = "Message";
dynamic expando = new ExpandoObject();
expando.Message = "I am awesome!";
var expandoDict = (IDictionary<string, object>)expando;
Console.WriteLine(expandoDict[messageLocation]);
(Также ваша переменная expando должна быть набрана как dynamic
, чтобы доступ к свойству определялся во время выполнения - в противном случае ваш пример выиграл 't compile)