C# Employee对象概述

开发 后端
这里介绍C# Employee对象,在VB.NET 或C#中,我们可以把模型空间块表记录(ModelSpace BlockTableRecord)当作一个集合,这样就可以使用For Each(C#是foreach)来遍历它。

C#语言还是比较常见的东西,这里我们主要介绍C# Employee对象,包括介绍在AutoCAD程序的开发中经常碰到这种类型转化等方面。

C# Employee对象

我们将创建一个函数来遍历模型空间,以用来查找加入的C# Employee对象(这里其实是块索引)的数目。在VB.NET 或C#中,我们可以把模型空间块表记录(ModelSpace BlockTableRecord)当作一个集合,这样就可以使用For Each(C#是foreach)来遍历它。请仔细研究一下下面的代码片断:

VB.NET:

  1. Dim id As ObjectId ‘ 首先,定义一个For循环要使用的ObjectId变量。  
  2. For Each id In btr  
  3. Dim ent As Entity = trans.GetObject(id, OpenMode.ForRead, False) '打开当前的对象!  

C#:

  1. foreach (ObjectId id in btr)  
  2. {  
  3. Entity ent = (Entity)trans.GetObject(id, OpenMode.ForRead, false);   
  4. //打开当前的对象!  

一旦我们获得模型空间对象,你们就可以定义一个ObjectId变量,然后把它用于For Each循环(C#是foreach)。

现在,我们需要使用一些方法来筛选雇员。我们知道模型空间中的对象都是实体,但不全是雇员。我们需要使用一些方法来加以区分。在这里,我们可以使用VB.NET的TypeOf关键字并用CType进行类型转换(C#是GetType函数和typeof):

VB.NET:

  1. If TypeOf ent Is BlockReference Then  
  2. Dim br As BlockReference = CType(ent, BlockReference)  
  3. …  

C#:

  1. If(ent.GetType() == typeof(BlockReference))  
  2. BlockReference br = (BlockReference)ent;  

上面讲的概念对于AutoCAD编程是很重要的,因为容器对象经常包含不同类型的对象。你会在AutoCAD程序的开发中经常碰到这种类型转化。

请定义一个名为EmployeeCount()的函数,函数的结构如上所示,它用来统计模型空间中的块索引的数目。这个函数不会输出任何东西,但你可以使用逐步调试程序来查看整数变量的增加(每发现一个块索引对象)。

接下来,为了把结果输出到命令行,我们需要使用Application.DocumentManager.MdiActiveDocument.Editor对象的服务。要使用它,请加入下面的代码:

  1. Imports Autodesk.AutoCAD.EditorInput  
  2. Imports Autodesk.AutoCAD.ApplicationServices  

在函数的内部:

  1. Editor ed = Application.DocumentManager.MdiActiveDocument.Editor;  

***,在循环的后面确定找到了多少个块索引:

  1. ed.WriteMessage("Employees Found: " + nEmployeeCount.ToString());  

【编辑推荐】

  1. C#创建快捷方式简单描述
  2. C#压缩Access数据库详细介绍
  3. C#实现加载动态库概述
  4. C#日期型数据简单剖析
  5. C#装箱和拆箱简单描述
责任编辑:佚名 来源: 新浪科技
相关推荐

2009-08-31 09:37:09

C# Employee

2009-08-25 10:08:39

C# MyData对象

2009-09-02 16:02:52

C#引用托管对象

2009-08-10 13:40:46

创建C# COM对象

2009-08-20 16:28:45

C#匿名方法

2009-09-03 10:42:16

C# Employee

2009-08-24 18:09:13

C#构造函数

2009-08-17 09:57:00

C# Windows

2009-08-25 16:49:44

C#使用if语句

2009-08-19 11:09:00

C# Cast<T>

2009-08-18 17:29:02

C#使用指针

2009-08-13 15:18:23

C#文件上传

2009-08-18 09:26:07

C#线程功能

2009-07-31 14:08:54

C# 匿名函数

2009-09-03 11:15:38

C#设置Coopera

2009-08-19 16:19:33

Employee对象

2009-08-14 16:54:19

C# Hello Wo

2009-08-12 11:33:23

C#实现文件下载

2009-08-19 15:30:40

C#复合控件构建

2009-08-21 17:11:41

C#调用Active组
点赞
收藏

51CTO技术栈公众号