zoukankan      html  css  js  c++  java
  • mapxtreme2004经典代码之二:TableInfo

    The example code below convers the concept of System.Reflection.

    Also it is a Window application, but I have write Console.WriteLine() method in it, so u should run it in the command line like this
    eg: application.exe >info.txt

     1        private void button2_Click(object sender, System.EventArgs e)
     2        {
     3            Table table = MapInfo.Engine.Session.Current.Catalog[this.mapControl1.Map.Layers[0].Alias];
     4            
     5            TableInfo ti = table.TableInfo;
     6            Type type = ti.GetType();
     7
     8            PropertyInfo[] api = type.GetProperties();
     9            string s1="";
    10            foreach(PropertyInfo pi in api)
    11            {
    12                s1 += pi.Name +"="+ pi.GetValue(ti,null)+"\r\n";
    13            }
                
    14
    15            Console.WriteLine(s1);
    16            Console.WriteLine();
    17             
    18            s1="";
    19            foreach(PropertyInfo pi in api)
    20            {
    21                s1 += pi.Name +"="+ pi.GetValue(ti,null)+"\r\n";
    22            }

    23            
    24
    25            s1+="\r\n";
    26
    27            FieldInfo[] afi = type.GetFields();
    28            foreach(FieldInfo fi in afi)
    29            {
    30                s1 += fi.Name+"="+fi.GetValue(ti);
    31            }

    32
    33
    34            s1 += "\r\n";
    35            foreach(Column c in ti.Columns)
    36            {
    37                
    38                s1 += "Alias="+c.Alias+"\r\n"+"DataType="+c.DataType+"\r\n"+"Width="+c.Width+"\r\n";                
    39                if(c.DataType == MIDbType.FeatureGeometry)
    40                {
    41                    GeometryColumn gc = (GeometryColumn)c;
    42                    MapInfo.Geometry.CoordSys cs = gc.CoordSys;
    43                    s1 += "MapBasicString="+cs.MapBasicString+"\r\n";
    44                    MapInfo.Geometry.DRect dr = gc.Bounds;
    45                    s1 += "Bounds="+dr+"\r\n";
    46                }

    47
    48            }

    49            
    50            Console.WriteLine(s1);
    51
    52        }
  • 相关阅读:
    八枚硬币问题
    找出诡异的Bug:数据怎么存不进去
    IKAnalyzer使用停用词词典进行分词
    【Quick-COCOS2D-X 3.3 怎样绑定自己定义类至Lua之四】使用绑定C++至Lua的自己定义类
    iOS 自我检測
    蓝桥杯 BASIC 29 高精度加法(大数)
    二叉树的非递归遍历
    [算法]有趣算法合辑[11-20]
    习惯的力量之四理直气壮的借口?
    《github一天一道算法题》:分治法求数组最大连续子序列和
  • 原文地址:https://www.cnblogs.com/xiexiaokui/p/227221.html
Copyright © 2011-2022 走看看