如何使用字符串而不是键来获取动态值?

时间:2015-03-28 19:50:22

标签: c# post dynamic asp.net-web-api2

我有一个类似于此的Web API控制器:

public void Post([FromBody]dynamic postData)
{
    foreach (var row in postData)
    {
       var email = row.email.Value; // ok
       var eventType = row.event.Value; // cannot use because "event" is reserved by .NET, C# or whatever
    }
}   

我从外部系统获取了一个JSON,其中包含了这个" event"财产(在我无法控制之外),我无法检索。我已经尝试了几十种解决方法,但它们似乎都没有在这种情况下工作。希望有一些简单的方法来检索它。

我最好的选择是使用反射:

row.GetType().GetProperty("event").GetValue(row, null);

但没有像我预期的那样工作。还有什么我可以尝试的吗?

1 个答案:

答案 0 :(得分:0)

解决方案是使用“@”,如:

row.@event.Value