CTypeDynamic有什么意义?

时间:2016-02-08 22:46:15

标签: vb.net

我正在使用反射来序列化一个对象。由于后期绑定惩罚,将值作为对象获取是对性能的真正谋杀。 CType / DirectCast可以摆脱它的大部分,但是我无法将类型变量输入到它中,所以目前我在类型变量上使用switch case块来选择正确的DirectCast。

我注意到CTypeDynamic存在并且接受类型变量但是返回类型是Object所以...它将一个对象转换为一个对象,很酷。这让我想知道,这个功能的目的是什么?

1 个答案:

答案 0 :(得分:0)

CTypeDynamic函数查找动态信息并适当地执行强制转换。这与CType运算符不同,后者在编译时查找静态信息或依赖于IConvertible类型。

此函数在运行时检查对象,包括查找共享(也称为静态)自定义运算符。与往常一样,如果您知道类型,则使用CType,但如果您需要动态投射,则需要使用CTypeDynamic

此处提供了更多信息: http://blogs.msmvps.com/bill/2010/01/24/ctypedynamic/