【发布时间】:2018-06-24 22:51:34
【问题描述】:
我使用反射获得了object 类型的返回值,但它的实际类型是(int[], string[]) 我仔细检查了obj.GetType().ToString() 并打印了System.ValueTuple`2[System.Int32[],System.String[]]。
但只是使用((int[], string[]))obj 或(ValueTuple<int[],string[]>)obj 进行转换会返回转换无效。如何正确做到这一点?
【问题讨论】:
-
第一次转换需要一组额外的括号:
((int[], string[]))obj。 -
啊,是的,对不起,这就是我正在做的事情,它返回演员表无效。
-
您的项目是否针对不支持元组的旧 C# 语言版本?
-
为什么需要做这种事情?也许解释你想要达到的目标可以引导你找到正确的解决方案。
-
我的意思是尝试: ((int[], string[]))obj.Value 。如果这不起作用,请尝试 GetType、GetProperty、GetValue,如 Heinzi 在这里的回答:stackoverflow.com/questions/8631546/…
标签: c#