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<代码>动态
和扩展对象
不是一回事。不过还是要感谢你的努力。