2015-05-24 46 views
1

我正在处理将字符串解析为类型的方式,而不知道它们将被解析为哪些类型。具体的bool /整数/日期等当声明为动态时,原始类型是否被装箱

我使用的是字典<类型,函数功能<字符串,动态> >做到这一点考虑,但想知道是否有将是价值的装箱/拆箱。

+0

我编辑了你的标题。请参阅:“[应该在其标题中包含”标签“](http://meta.stackexchange.com/questions/19190/)”,其中的共识是“不,他们不应该”。 –

+0

很高兴知道,谢谢:) – Miles

+0

@Miles * dynamic *是C#编译器的一招。没有*动态*类型。它被无声地转换为* object *,并且编译器知道它必须生成额外的代码来处理“动态”部分。你可以看到它* typeof(dynamic)== typeof(object)* – xanatos

回答

2

是的,您从funcs返回的值类型实例将被装箱(您实际上有一个存储Func<string, object>的字典)。

当您调用func并尝试将其分配给变量或将其传递给方法时,该值将被拆箱并存储在相应类型的引用中。

相关问题