C# 如何从OkObjectResult获取动态属性

C# 如何从OkObjectResult获取动态属性,c#,anonymous-class,C#,Anonymous Class,我返回IActionResult,其中包含来自控制器方法的匿名对象的值。 如何再次获取数据 以下是简化为问题的控制器方法: [HttpPost] public async Task<IActionResult> UploadFile(IFormFile file) { long size = file.Length; return Ok(new { count = 1, size }); } 预期结果: 计数应为1 实际结果: Microsoft.CSharp.Ru

我返回
IActionResult
,其中包含来自控制器方法的匿名对象的值。
如何再次获取数据

以下是简化为问题的控制器方法:

[HttpPost]
public async Task<IActionResult> UploadFile(IFormFile file)
{
    long size = file.Length;
    return Ok(new { count = 1, size });
}
预期结果:

计数
应为1

实际结果:

Microsoft.CSharp.RuntimeBinder.RuntimeBinderException:“对象”不包含“计数”的定义

尝试反射:

var count = (int)okResult.Value.GetType().GetProperty("count").GetValue(okResult.Value);
尝试反射:

var count = (int)okResult.Value.GetType().GetProperty("count").GetValue(okResult.Value);

您是否这样尝试过=>
dynamicdynvalue=okResult.Value作为动态?或
dynamicdynvalue=okResult.Value作为expandooobject
?@er sho试图将
dynValue
转换为
dynamic
不会做任何事情,因为它已经声明为
dynamic
。因此,当尝试强制转换到
ExpandoObject
时,所发生的一切是
dynValue
变为null<代码>动态
扩展对象
不是一回事。另外还有尝试。您是否像这样尝试过=>
dynamicdynvalue=okResult.Value作为动态?或
dynamicdynvalue=okResult.Value作为expandooobject
?@er sho试图将
dynValue
转换为
dynamic
不会做任何事情,因为它已经声明为
dynamic
。因此,当尝试强制转换到
ExpandoObject
时,所发生的一切是
dynValue
变为null<代码>动态
扩展对象
不是一回事。不过还是要感谢你的努力。