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

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/379685.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/379685.shtml
英文地址,請注明出處:http://en.pswp.cn/news/379685.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

linux內核設計與實現---從內核出發

獲取、編譯、安裝內核1 獲取內核源碼安裝內核源代碼何處安裝源碼使用補丁2 內核源碼樹3 編譯內核減少編譯的垃圾信息衍生多個編譯作業安裝內核啟用指定內核作為引導4 內核開發的特點沒有libc庫頭文件沒有內存保護機制容積小而固定的棧1 獲取內核源碼 在linux內核官方網站http:…

MySQL在DOS下的基本命令操作

啟動net start mysql 重置root密碼 方法一:在my.ini的[mysqld]字段加入&#xff1a; skip-grant-tables 重啟mysql服務&#xff0c;這時的mysql不需要密碼即可登錄數據庫然后進入mysql mysql>use mysql;mysql>更新 user set passwordpassword(新密碼) WHERE Userroot; …

strlen的神奇實現

https://blog.delphij.net/2012/04/freebsd-strlen3.html 與 Pascal 等語言不同&#xff0c;C 的字符串并不保存串的長度&#xff0c;而是在字符串末尾以 nul 字符&#xff08;\0&#xff09;來表示字符串結束。這個設計決策是上世紀 60 年代作出的&#xff0c;有都市傳說是為了…

python求和_Python程序查找特殊求和系列的解決方案

python求和We are going to design a special sum series function which has following characteristics: 我們將設計一個特殊的求和系列函數&#xff0c;該函數具有以下特征&#xff1a; f(0) 0f(1) 1f(2) 1f(3) 0f(x) f(x-1) f(x-3)Python solution of the above sum…

linux內核設計與實現---進程管理

進程管理1 進程描述符及任務結構分配進程描述符進程描述符的存放進程狀態設置當前進程狀態進程上下文進程家族樹2 進程創建寫時拷貝fork()vfork()3 線程在Linux中的實現內核線程4 進程終結刪除進程描述符孤兒進程造成的進退微谷5 小結進程的另一個名字叫做任務&#xff08;task…

JS錯誤代碼解釋大全+VBS錯誤代碼解釋大全

JScript 運行時錯誤 JScript 運行時錯誤是指當 JScript 腳本試圖執行一個系統不能運行的動作時導致的錯誤。當正在運行腳本、計算變量表達式、或者正在動態分配內存時出現 JScript 運行時錯誤時。 錯誤號 描述 5029 數組長度必須為一有限正整數 5030 必須賦給數組長度一個有…

生日蠟燭(藍橋杯)

某君從某年開始每年都舉辦一次生日party&#xff0c;并且每次都要吹熄與年齡相同根數的蠟燭。 現在算起來&#xff0c;他一共吹熄了236根蠟燭。 請問&#xff0c;他從多少歲開始過生日party的&#xff1f; 請填寫他開始過生日party的年齡數。 注意&#xff1a;你提交的應該是…

python日歷模塊_Python日歷模塊| firstweekday()方法與示例

python日歷模塊Python calendar.firstweekday()方法 (Python calendar.firstweekday() Method) firstweekday() method is an inbuilt method of the calendar module in Python. It works on simple text calendars and returns the current setting for the weekday to start…

php 處理 mysql to json, 前臺js處理

public function GetJson(){$query"select * from table";$result mysql_query($query);$rows array();while($row mysql_fetch_array($result)){$rows [] $row;}echo json_encode($rows); } js處理 $.get( "./bll.php", option,function(data ) {var j…

Linux內核設計與實現---進程調度

進程調度1 策略I/O消耗型和處理器消耗型的進程進程優先級時間片進程搶占2 Linux調度算法可執行隊列優先級數組重新計算時間片schedule()計算優先級和時間片睡眠和喚醒負載平衡程序3 搶占和上下文切換用戶搶占內核搶占4 實時5 與調度相關的系統調用與調度策略和優先級相關的系統…

ServletContext(核心內容)

什么是ServletContext對象 ServletContext代表是一個web應用的環境&#xff08;上下文&#xff09;對象&#xff0c;ServletContext對象 內部封裝是該web應用的信息&#xff0c;ServletContext對象一個web應用只有一個 一個web應用有多個servlet對象 ServletContext對象的生…

【轉載】[TC]飛船動畫例子--《C高級實用程序設計》

【聲明和備注】本例子屬于轉載來源于《C高級實用程序設計》&#xff08;王士元&#xff0c;清華大學出版社&#xff09;第11章&#xff0c;菜單設計與動畫技術&#xff0c;第11.5節&#xff0c;一個動畫例子。 本例講解的是在一個繁星背景下&#xff0c;一個由經緯線組成的藍色…

math.sqrt 有問題_JavaScript中帶有示例的Math.SQRT2屬性

math.sqrt 有問題JavaScript | Math.SQRT2屬性 (JavaScript | Math.SQRT2 Property) Math.SQRT2 is a property in math library of JavaScript that is used to find the value of square root of 2. It is generally used to solve problems related to circular figures. Ma…

Linux內核設計與實現---系統調用

系統調用1 API、POSIX和C庫2 系統調用系統調用號3 系統調用處理程序指定恰當的系統調用參數傳遞4 系統調用的實現參數驗證5 系統調用上下文綁定一個系統調用的最后步驟從用戶空間訪問系統調用為什么不通過系統調用的方式實現1 API、POSIX和C庫 API&#xff1a;應用編程接口。一…

內核編譯配置選項含義

Linux 2.6.19.x 內核編譯配置選項簡介 作者&#xff1a;金步國 版權聲明 本文作者是一位自由軟件愛好者&#xff0c;所以本文雖然不是軟件&#xff0c;但是本著 GPL 的精神發布。任何人都可以自由使用、轉載、復制和再分發&#xff0c;但必須保留作者署名&#xff0c;亦不得對聲…

js編碼處理(轉)

js編碼處理(轉) 1. 使用 JS 中的 encodeURIComponent 或 encodeURI 方法。 說明&#xff1a; encodeURIComponent(String) 對傳遞參數進行設置。不編碼字符有 71 個&#xff1a; ! &#xff0c; &#xff0c; ( &#xff0c; ) &#xff0c; * &#xff0c; - &#…

手動去設置HTTP響應行、響應頭、響應體

①手動去設置HTTP響應行中的狀態碼&#xff0c;這里用到了response的setStatus(int sc);這個方法 package com.itheima.line;import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpSer…

Java SecurityManager checkListen()方法與示例

SecurityManager類的checkListen()方法 (SecurityManager Class checkListen() method) checkListen() method is available in java.lang package. checkListen()方法在java.lang包中可用。 checkListen() method invokes checkPermission with the given SocketPermission(&q…

基本的二分查找、尋找第一個和最后一個數的二分查找

二分查找1 二分查找的框架2 尋找一個數&#xff08;基本的二分搜索&#xff09;3 尋找左側邊界的二分搜索4 尋找右側邊界的二分查找5 合并二分查找場景&#xff1a;有序數組尋找一個數、尋找左側邊界&#xff08;有序數組第一個等目標數的下標&#xff09;、尋找右側邊界&#…

PostgreSQL 中的遞歸查詢 與oracle 的比較

PostgreSQL 中的遞歸查詢&#xff0c;2種方法&#xff1a; 1、用with decursive WITH RECURSIVE d AS (SELECT d1.id,d1.parent_id,d1.caption FROM course_types d1 where d1.dr 0 and d1.idtypeId union ALL SELECT d2.id,d2.parent_id,d2.caption FROM course_types d2, d …