【发布时间】:2019-09-22 05:48:40
【问题描述】:
如果我尝试
List<dynamic> list = new List<dynamic> { "blah" };
var type = list.GetType().GetGenericArguments()[0];
我得到的是“对象”而不是 string。如何获得“真实”类型?
【问题讨论】:
-
100 次动态中的 98 次不是正确的方法,并且会导致更多的问题然后解决。我这样说是因为如果你可以删除你正在做的事情的动态部分,你会发现后续的代码解决方案会更令人满意,更少hacky和更可预测
-
如果您的列表包含不同的类型怎么办?例如
List<dynamic> { "blah", 1 }?正如 TheGeneral 已经说过的那样,您通常根本不需要dynamic来获得“动态”的东西。 -
@TheGeneral 我同意你的观点,但动态来自生成的代码,不受我控制。
-
@HimBromBeere 好点,没想到这个问题。
-
@PeterDuniho 重复的问题是不同的问题。事件,因此答案包含有用的信息,因此无法找到它询问 my 问题。