使用typeof进行投射

eom*_*off 2 c# casting dynamic

我有一些Type someType我想在运行时强制转换的类型

例如,我想做:

var customers = GetCustomers() as someType[] 
Run Code Online (Sandbox Code Playgroud)

这该怎么做?

Jer*_*vel 5

您不能使用as转换在运行时已知的类型:表达式在编译时将无效,因为您必须使用typeof(T)不能与其一起使用的表达式as.

你可以使用的是System.Convert.ChangeType(object, Type).这里第二个参数可以使用typeof(T)并与控制语句结合使用,可以将运行时的输入转换为正确的类型.

您应该问自己这是否是您想要的东西:仅在运行时知道的类型将使您几乎没有用处.

MSDN:System.Convert.ChangeType