'objType'没有定义......实际上,它是,所以为什么会发生这种情况?

Fre*_*nöw 2 vb.net types undefined directcast

正如您在下面的图片中看到的那样,出于某种原因,我的DirectCast除了ANYTHING之外不会出现第二个参数.它说它需要一种类型,但它根本不需要任何对象!

在此输入图像描述

谢谢你的帮助!我正在使用VB.net所以所有的.net答案都可以接受:)

编辑

好吧,显然我没有给它正确的那种type.有人可以澄清一下吗?假设它需要转换为的类型是gridElement什么,我应该用什么替换objType?

lsu*_*rez 7

DirectCast需要一个对象原型(即只是给它预期的类名)而不是System.Type描述符对象.要使用a转换对象System.Type,您需要使用CTypeDynamic():

Return CTypeDynamic(createElementByIdAndLayer.MemberwiseClone(), objType)
Run Code Online (Sandbox Code Playgroud)

该错误基本上告诉您类型名称为"objType"的类不存在.

  • 如果你提前知道你总是想要一个gridElement并且该对象可以转换为gridElement,你可以调用Return DirectCast(createElementByIdAndLayer.MemberwiseClone(),gridElement) (2认同)