给定一个System.Object,我如何获得一个动态对象来访问它可能拥有的任何成员。
具体来说,我想对返回JsonResult. JsonResult具有类型的Data属性object。我用匿名类型填充这个对象:
return Json(new { Success = "Success" });
在我的测试中,我想做类似的事情
var result = controller.Foo();
Assert.That(((SomeDynamicType)result.Data).Success, Is.EqualTo("Success"));
这是怎么做到的?
更新
虽然result.Data是 type object,但在 Watch 窗口中检查它显示它具有以下类型:
{
Name = "<>f__AnonymousType6`1"
FullName = "<>f__AnonymousType6`1[[System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]"
}
System.Type {System.RuntimeType}