Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将动态强制转换为ObjectHandle会引发RuntimeBinderException_C# - Fatal编程技术网

C# 将动态强制转换为ObjectHandle会引发RuntimeBinderException

C# 将动态强制转换为ObjectHandle会引发RuntimeBinderException,c#,C#,我试图在运行时使用广为宣传的type-acquiredobjecttype=((ObjectHandle)acquireddynamicobject.Unwrap().GetType()方法来确定动态对象的类型但是我得到了ObjectHandle转换的RuntimeBinderException,我不知道为什么 下面的代码也抛出了相同的错误 string myString = "ASF"; dynamic myDynamic = myString; ObjectHandle dd = (Obje

我试图在运行时使用广为宣传的
type-acquiredobjecttype=((ObjectHandle)acquireddynamicobject.Unwrap().GetType()方法来确定动态对象的类型但是我得到了ObjectHandle转换的RuntimeBinderException,我不知道为什么

下面的代码也抛出了相同的错误

string myString = "ASF";
dynamic myDynamic = myString;
ObjectHandle dd = (ObjectHandle)myDynamic;
抛出:“无法将类型“string”转换为“System.Runtime.Remoting.ObjectHandle”


奇怪的是,我在上一个工作场所使用过它,它很好!使用.NET framework 4.5(并在稍后试用)。有什么想法吗?

为什么要走复杂的路呢!?只需执行以下操作:

Type myDynamicType = myDynamic.GetType();
Console.WriteLine(myDynamicType); // Output is System.String

可能是Google搜索lol中的第一个热门…尝试了你的示例,显然,它工作得很好。不确定为什么在使用GetType()方法时推荐使用cast to ObjectHandle…谢谢Nikhilvartak