c# – 这个“Object [*]”是什么类型,我用COM互操作?
发布时间:2020-12-15 06:49:39 所属栏目:百科 来源:网络整理
导读:我做C#excel互操作.我从C#调用宏,我期望对象的数组.我可以从返回二维数组的宏中获取二维数组的对象. 但是,另一个(第三方)宏应该返回一维数组.我不能得到(object [])xlApp.Run(…)工作(它抛出异常),调试器中的类型信息表示结果是Object [*]类型.来自异常的实
我做C#excel互操作.我从C#调用宏,我期望对象的数组.我可以从返回二维数组的宏中获取二维数组的对象.
但是,另一个(第三方)宏应该返回一维数组.我不能得到(object [])xlApp.Run(…)工作(它抛出异常),调试器中的类型信息表示结果是Object [*]类型.来自异常的实际消息是 Unable to cast object of type 'System.Object[*]' to type 'System.Object[]'. 这个Object [*]类型是什么,如何从中检索一维数组? 编辑:对我来说,这可能意味着一个变数的安慰.但是,然后出现两个问题:为什么一切都可以与二维数组?如何将SAFEARRAY转换为C#数组? 解决方法
我对你的问题发表了各种各样的文章:
OPCFondation :基本上而不是将其声明为一个对象数组,您可以将其声明为Array而不提供任何元素类型.所以不要在Object []或Array中投射,并使用foreach循环来使用子阵列. foreach(object subobject in (Array)myarrayitem) { //do stuff with the subobject,even browse further } 这个解决方案似乎工作,因为你可以再次找到here. On StackOverflow:他们讲下边界的数组> 0,它给你的对象[*]类型,一些链接可以是有趣的主题,但我认为第一个想法是好的. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- objective-c – 堆栈跟踪中方法名称旁边的数字是多少?
- c# – 从数据库返回列表
- ruby-on-rails – bundle exec rake db:migrate导致“找不
- postgresql – 我们是否需要根据监控使用60 IOPS的RDS实例的
- 使用vue点击li,获取当前点击li父辈元素的属性值方法
- iphone – 如何在Xcode中设置线程特定的断点?
- 好的postgresql客户端的windows?
- SQLite剖析(10):异步IO模式、共享缓存模式和解锁通知
- c# – LINQ IEnumerable内存结构
- 【cocos3.x+box2d+tileMap】制作马里奥游戏(二) 制作地图