'objType' is not defined… Actually, it is,

2019-02-19 17:26发布

问题:

As you seen in this picture below, for some reason my DirectCast wont except ANYTHING for the second argument. It says it requires a type, but, it won't take any object at all!

Thanks for any help! I'm using VB.net so all .net answers are acceptable :)

EDIT

Ok, so apparently I'm not giving it the right kind of type. Could somebody please clarify this? Assuming the type it needs to cast to is gridElement, what should I replace objType with?

回答1:

DirectCast requires an object prototype (i.e. just giving it the intended class name) rather than a System.Type descriptor object. To cast an object using a System.Type, you will want to utilize CTypeDynamic():

Return CTypeDynamic(createElementByIdAndLayer.MemberwiseClone(), objType)

The error is essentially telling you a class with the type name "objType" does not exist.



回答2:

Its expecting a "Type", not a "Type Object".

What is the return value of the function?