新聞中心
C#語言還是比較常見的東西,這里我們主要介紹C# Employee對象,包括介紹在AutoCAD程序的開發(fā)中經(jīng)常碰到這種類型轉(zhuǎn)化等方面。

C# Employee對象
我們將創(chuàng)建一個函數(shù)來遍歷模型空間,以用來查找加入的C# Employee對象(這里其實是塊索引)的數(shù)目。在VB.NET 或C#中,我們可以把模型空間塊表記錄(ModelSpace BlockTableRecord)當(dāng)作一個集合,這樣就可以使用For Each(C#是foreach)來遍歷它。請仔細(xì)研究一下下面的代碼片斷:
VB.NET:
- Dim id As ObjectId ‘ 首先,定義一個For循環(huán)要使用的ObjectId變量。
- For Each id In btr
- Dim ent As Entity = trans.GetObject(id, OpenMode.ForRead, False) '打開當(dāng)前的對象!
C#:
- foreach (ObjectId id in btr)
- {
- Entity ent = (Entity)trans.GetObject(id, OpenMode.ForRead, false);
- //打開當(dāng)前的對象!
一旦我們獲得模型空間對象,你們就可以定義一個ObjectId變量,然后把它用于For Each循環(huán)(C#是foreach)。
現(xiàn)在,我們需要使用一些方法來篩選雇員。我們知道模型空間中的對象都是實體,但不全是雇員。我們需要使用一些方法來加以區(qū)分。在這里,我們可以使用VB.NET的TypeOf關(guān)鍵字并用CType進行類型轉(zhuǎn)換(C#是GetType函數(shù)和typeof):
VB.NET:
- If TypeOf ent Is BlockReference Then
- Dim br As BlockReference = CType(ent, BlockReference)
- …
C#:
- If(ent.GetType() == typeof(BlockReference))
- BlockReference br = (BlockReference)ent;
上面講的概念對于AutoCAD編程是很重要的,因為容器對象經(jīng)常包含不同類型的對象。你會在AutoCAD程序的開發(fā)中經(jīng)常碰到這種類型轉(zhuǎn)化。
請定義一個名為EmployeeCount()的函數(shù),函數(shù)的結(jié)構(gòu)如上所示,它用來統(tǒng)計模型空間中的塊索引的數(shù)目。這個函數(shù)不會輸出任何東西,但你可以使用逐步調(diào)試程序來查看整數(shù)變量的增加(每發(fā)現(xiàn)一個塊索引對象)。
接下來,為了把結(jié)果輸出到命令行,我們需要使用Application.DocumentManager.MdiActiveDocument.Editor對象的服務(wù)。要使用它,請加入下面的代碼:
- Imports Autodesk.AutoCAD.EditorInput
- Imports Autodesk.AutoCAD.ApplicationServices
在函數(shù)的內(nèi)部:
- Editor ed = Application.DocumentManager.MdiActiveDocument.Editor;
***,在循環(huán)的后面確定找到了多少個塊索引:
- ed.WriteMessage("Employees Found: " + nEmployeeCount.ToString());
【編輯推薦】
- C#創(chuàng)建快捷方式簡單描述
- C#壓縮Access數(shù)據(jù)庫詳細(xì)介紹
- C#實現(xiàn)加載動態(tài)庫概述
- C#日期型數(shù)據(jù)簡單剖析
- C#裝箱和拆箱簡單描述
當(dāng)前名稱:C#Employee對象概述
URL鏈接:http://m.fisionsoft.com.cn/article/djesdgc.html


咨詢
建站咨詢
