QI(接口查询)

    接触AE一段时间了,总的来说收获不少,今天仔细分析了一下AE开发中经常会用到的QI即接口查询,有了自己的一些理解。

    COM类至少有一个接口。事实上一般它们有好几个接口。即一个类经常会实现多个接口(一个类无法继承多个类),我们可以通过这个类来定义多个不同的接口,当我们定义了其中某一个接口变量(假设该变量名为Q1)以后,往往我们还需要用到该类所提供的其它接口的方法、属性,这时就得用到了QI,这种情况下我们只需定义一个所需的其他接口的变量(假设变量名为Q2),并且把它指向已经定义了的变量即可,这样就完成了QI,可以使用Q2所在接口拥有的方法和属性了。

    初级理解,请指正。

private IPolygon ConstructorPolygon(List<IRing> pRingList)
{

    try

   {

     //
创建一个Polygon对象
    IGeometryCollection pGCollection = new PolygonClass();

    object o = Type.Missing;


    //

遍历Ring集合
   for(int i=0;i<pRingList.Count;i++)

  {

      //
通过IGeometryCollection接口的AddGeometry方法向Polygon对象中添加Ring子对象
      pGCollection.AddGeometry(pRingList, ref o, ref o);

  }


   //QI
至ITopologicalOperator
   ITopologicalOperator pTopological = pGCollection as ITopologicalOperator;


  //

执行Simplify操作
  pTopological.Simplify();


  IPolygon pPolygon=pGCollection as IPolygon;


   //

返回Polygon对象
   return pPolygon;

 }


  catch (Exception Err)

  {

      MessageBox.Show(Err.Message,"
提示",MessageBoxButtons.OK,,MessageBoxIcon.Information);
       return null;

   }


}

转载于:https://www.cnblogs.com/mygis_3/archive/2009/05/17/1458719.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值