gpt4 book ai didi

c# - 我正在尝试将对象转换为动态类型,但转换失败并出现 RunTimeBinder 异常

转载 作者:太空狗 更新时间:2023-10-29 19:50:04 24 4
gpt4 key购买 nike

我正在尝试将对象转换为动态类型,但转换失败并出现 RunTimeBinder 异常。我尝试使用我在 Stackoverflow 答案中遇到的两种方法。

代码 1:

object objSum;
dynamic dynSum;
objSum = dataTableColumnChart.Compute(String.Format("Count({0})", strColumnName), "");
dynSum = Convert.ChangeType(objSum, objSum.GetType());\
Debug.Writeline(dynSum);

代码 2:

dynSum=objSum;
Debug.Writeline(dynSum);

抛出的异常是这样的:

A first chance exception of type 'Microsoft.CSharp.RuntimeBinder.RuntimeBinderException' occurred in Unknown Module.

请注意,在这两种情况下,当执行 Debug 语句时都会抛出异常。

最佳答案

这是将对象转换为 Dynamic 的扩展方法

public static dynamic ToDynamic(this object value)
{
IDictionary<string, object> expando = new ExpandoObject();

foreach (PropertyDescriptor property in TypeDescriptor.GetProperties(value.GetType()))
expando.Add(property.Name, property.GetValue(value));

return expando as ExpandoObject;
}

关于c# - 我正在尝试将对象转换为动态类型,但转换失败并出现 RunTimeBinder 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36147932/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com