Vb.net ';对象类型';没有定义。。。事实上是的,为什么会这样?

Vb.net ';对象类型';没有定义。。。事实上是的,为什么会这样?,vb.net,types,undefined,directcast,Vb.net,Types,Undefined,Directcast,如下图所示,出于某种原因,我的DirectCast不会为第二个参数添加任何内容。它说它需要一个类型,但它根本不会接受任何对象 谢谢你的帮助!我使用的是VB.net,所以所有的.net答案都可以接受:) 编辑 好的,显然我没有给它正确的类型。有人能澄清一下吗?假设它需要转换到的类型是gridElement,我应该用什么替换objType?它应该是一个“类型”,而不是一个“类型对象” 函数的返回值是多少?DirectCast需要对象原型(即只给它指定的类名),而不是系统。键入描述符对象。要使用系统

如下图所示,出于某种原因,我的DirectCast不会为第二个参数添加任何内容。它说它需要一个类型,但它根本不会接受任何对象

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

编辑

好的,显然我没有给它正确的
类型。有人能澄清一下吗?假设它需要转换到的类型是
gridElement
,我应该用什么替换objType?

它应该是一个“类型”,而不是一个“类型对象”


函数的返回值是多少?

DirectCast
需要对象原型(即只给它指定的类名),而不是
系统。键入
描述符对象。要使用
系统类型强制转换对象,请使用:


错误本质上是告诉您类型名为“objType”的类不存在。

VS无法识别CTypeDynamic,是否需要引用某些内容?
CTypeDynamic
是.NET 4.0框架的一部分。我想你不是针对那个图书馆的。嗯。。。可惜没有。我试图针对最常见的安装框架。我已经把它降级到2.0级了,我相信。。。对不起+1不管怎样。我很肯定你现在可以安全地瞄准3.5。它随Server 2008和Windows 7提供标准版本,并标记为XP的关键更新。不幸的是,这无论如何都无助于这种情况。您的返回类型是否符合接口?如果您提前知道您总是想要一个gridElement,并且对象可以强制转换为gridElement,您可以调用return DirectCast(createElementByIdAndLayer.MemberwiseClone(),gridElement)'它说它需要一个类型,但它根本不会接受任何对象';也许是因为它需要一个类型?DbType是一个很好的类型示例
Return CTypeDynamic(createElementByIdAndLayer.MemberwiseClone(), objType)