在其中一个动作中,我做了这样的事情
public HttpResponseMessage Post([FromBody] Foo foo)
{
.....
.....
var response =
Request.CreateResponse(HttpStatusCode.Accepted, new { Token = "SOME_STRING_TOKEN"});
return response;
}
和更多类似的方法返回一个匿名类型实例,并且效果很好。
现在,我正在为它编写测试。我有
HttpResponseMessage response = _myController.Post(dummyFoo);
HttpResponseMessage
有一个名为的属性Content
,并且有一个ReadAsAsync<T>()
.
我知道如果有具体的特定类型,我可以做
Bar bar = response.Content.ReadAsAsync<Bar>();
但是如何访问返回的匿名类型?是否可以?
我希望做到以下几点:
dynamic responseContent = response.Content.ReadAsAsync<object>();
string returnedToken = responseContent.Token;
但我得到了类型对象实例没有属性令牌的错误。即使调试器显示带有一个属性 Token 的 responseContent,也会发生这种情况。我明白为什么会这样,但我想知道是否有办法访问该物业。
谢谢