当前位置: 首页 > news >正文

MapX bug 和设计缺陷

以下是我使用MapX过程中遇到的一些问题:

一.mapx 好像是特意为VB而作,VB色彩太浓,风格很难接受。

例如:所有的下标从1开始,很丑陋。

二.有些集合类的索引index不支持按顺序索引,只能以名字索引,很不方便。但在VB下面可以顺序index
例如:Layers[string],Layers._Item(string)合法,但Layers[int],Layers._Item(int)不合法。
三。很多类型不能初始化。

例如:Features fs = new FeaturesClass(); 出错。异常如下:

未处理的“System.Runtime.InteropServices.COMException”类型的异常出现在 WindowsApplication14.exe 中。

其他信息: 带有 CLSID {090703E1-9563-11D0-8796-00AA00B7EF73} 的 COM 对象无效或未注册。

四。弱数据类型。到处充满了object ,CObject,VARIANT,等等符号,跟没有数据类型没有任何区别,非常难看讨厌,给学习和使用不知带来了多大得问题(个人认为几乎占了学习MapX内容的60%-80%的精力,也就是说我得绝大部分时间花在这种无聊的低级记忆上)

五。有些数据类型可以反射,Clr Reflection ,但有些不行。Reflection是我like的性质之一。在这一点上我非常疑惑,为什么有的可以有的不可以。

六。重点讨论collection类型。这也是我很confused的地方。

1。(reference 二)。

2。不知dotnet是怎么处理复杂的interface的。很多MapX的集合类型实现了IEnumerable。这使得访问much convinent .。for example:You can access the collection like this

None.gif foreach (Layer  in  Layers)
None.gif[
None.gifdot.gif
None.gif}

3.On the contrary ,the document for MapObjects says that it has also implement the interface IEnumerable,but it is explicitely wrong! MapObjects can not return IEnumerator.So, you can not access the collection of MapObjects by using foreach.

4.All custome type of MapObjects can not be reflected by CLR. the ToString() function only retunr __COMObject.But MapX can do better.

相关文章:

  • linux下svn命令大全
  • 《Play for Java》学习笔记(七)数据类型解析——Body parser
  • android alipay
  • 2014 BDTC 參会有感
  • [C#基础知识系列]专题十七:深入理解动态类型
  • 8天学通MongoDB——第四天 索引操作
  • 20个开源项目托管站点推荐
  • coursera 公开课 文本挖掘和分析(text mining and analytics) week 1 笔记
  • win7下使用Taste实现协同过滤算法
  • 设计模式 ( 十九 ) 模板方法模式Template method(类行为型)
  • 分享一款快速APP功能测试工具
  • R语言编程艺术#04#数据框(data.frame)
  • 动态规划(DP),0-1背包问题
  • 各大公司广泛使用的在线学习算法FTRL详解
  • .Net CF下精确的计时器
  • 深入了解以太坊
  • @jsonView过滤属性
  • 【mysql】环境安装、服务启动、密码设置
  • 78. Subsets
  • ABAP的include关键字,Java的import, C的include和C4C ABSL 的import比较
  • Angular2开发踩坑系列-生产环境编译
  • CentOS从零开始部署Nodejs项目
  • echarts花样作死的坑
  • es6
  • HashMap剖析之内部结构
  • javascript从右向左截取指定位数字符的3种方法
  • Map集合、散列表、红黑树介绍
  • Otto开发初探——微服务依赖管理新利器
  • seaborn 安装成功 + ImportError: DLL load failed: 找不到指定的模块 问题解决
  • Spring Cloud Alibaba迁移指南(一):一行代码从 Hystrix 迁移到 Sentinel
  • Spring框架之我见(三)——IOC、AOP
  • Storybook 5.0正式发布:有史以来变化最大的版本\n
  • Twitter赢在开放,三年创造奇迹
  • zookeeper系列(七)实战分布式命名服务
  • 阿里云前端周刊 - 第 26 期
  • 闭包--闭包之tab栏切换(四)
  • 从PHP迁移至Golang - 基础篇
  • 动态规划入门(以爬楼梯为例)
  • 机器学习 vs. 深度学习
  • 机器学习中为什么要做归一化normalization
  • 今年的LC3大会没了?
  • 用Node EJS写一个爬虫脚本每天定时给心爱的她发一封暖心邮件
  • 在weex里面使用chart图表
  • ​Distil-Whisper:比Whisper快6倍,体积小50%的语音识别模型
  • #ifdef 的技巧用法
  • (PyTorch)TCN和RNN/LSTM/GRU结合实现时间序列预测
  • (rabbitmq的高级特性)消息可靠性
  • (Repost) Getting Genode with TrustZone on the i.MX
  • (ZT)薛涌:谈贫说富
  • (附源码)ssm教师工作量核算统计系统 毕业设计 162307
  • (一)基于IDEA的JAVA基础10
  • . ./ bash dash source 这五种执行shell脚本方式 区别
  • .NET CF命令行调试器MDbg入门(一)
  • .NET Core IdentityServer4实战-开篇介绍与规划
  • /dev/VolGroup00/LogVol00:unexpected inconsistency;run fsck manually