zoukankan      html  css  js  c++  java
  • 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

    foreach(Layer in Layers)
    [

    }

    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.
  • 相关阅读:
    如何删除windows服务zz 重新安装PostgreSQL时删除上次遗留service的方法
    如何配置OGRE 1.7.0+CEGUI 0.7.1
    [原]一个由memset引发的知识点
    ArcGis测距问题
    自己动手,制作.net35离线安装包
    TTS语音合成
    Acess字段名用到与系统冲突的特殊名时的处理
    程序运行长期等待时显示等待动画
    修改Windows 2003 SOCKET端口数量默认5000限制
    服务器上发布的网站应用80端口时内网可以访问,外网不能访问
  • 原文地址:https://www.cnblogs.com/xiexiaokui/p/158621.html
Copyright © 2011-2022 走看看