1
我正在处理将字符串解析为类型的方式,而不知道它们将被解析为哪些类型。具体的bool /整数/日期等当声明为动态时,原始类型是否被装箱
我使用的是字典<类型,函数功能<字符串,动态> >做到这一点考虑,但想知道是否有将是价值的装箱/拆箱。
我正在处理将字符串解析为类型的方式,而不知道它们将被解析为哪些类型。具体的bool /整数/日期等当声明为动态时,原始类型是否被装箱
我使用的是字典<类型,函数功能<字符串,动态> >做到这一点考虑,但想知道是否有将是价值的装箱/拆箱。
是的,您从funcs返回的值类型实例将被装箱(您实际上有一个存储Func<string, object>
的字典)。
当您调用func并尝试将其分配给变量或将其传递给方法时,该值将被拆箱并存储在相应类型的引用中。
我编辑了你的标题。请参阅:“[应该在其标题中包含”标签“](http://meta.stackexchange.com/questions/19190/)”,其中的共识是“不,他们不应该”。 –
很高兴知道,谢谢:) – Miles
@Miles * dynamic *是C#编译器的一招。没有*动态*类型。它被无声地转换为* object *,并且编译器知道它必须生成额外的代码来处理“动态”部分。你可以看到它* typeof(dynamic)== typeof(object)* – xanatos