自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

C# CreateEmployee()函數(shù)

開(kāi)發(fā) 后端
這里我們來(lái)修改C# CreateEmployee()函數(shù),以讓它可以接收名字、薪水、部門(mén)和職位并返回創(chuàng)建的雇員塊索引的ObjectId。

C#語(yǔ)言有很多值得學(xué)習(xí)的地方,這里我們主要介紹C# CreateEmployee()函數(shù),包括介紹 測(cè)試C# CreateEmployee()函數(shù)。加入一個(gè)Test命令來(lái)測(cè)試CreateEmployee等方面。

修改C# CreateEmployee()函數(shù)以重用

1)讓我們來(lái)修改C# CreateEmployee()函數(shù),以讓它可以接收名字、薪水、部門(mén)和職位并返回創(chuàng)建的雇員塊索引的ObjectId。函數(shù)的形式如下(你可以改變參數(shù)順序)

  1. public ObjectId CreateEmployee
    (string name, string division, double salary, Point3d pos) 

2) 移除上面函數(shù)中的CommandMethod屬性”CREATE”,這樣它就不再是用來(lái)創(chuàng)建雇員的命令。

3) 修改函數(shù)的代碼,這樣就可以正確地設(shè)置塊索引的名字、職位、部門(mén)和薪水和它的擴(kuò)展字典。

  1. //替換  
  2. BlockReference br = new BlockReference
    (new Point3d(10, 10, 0), CreateEmployeeDefinition());  
  3. //為  
  4. BlockReference br = new BlockReference
    (pos, CreateEmployeeDefinition());  
  1. //替換  
  2.  
  3. xRec.Data = new ResultBuffer(  
  4. new TypedValue((int)DxfCode.Text, "Earnest Shackleton"),  
  5. new TypedValue((int)DxfCode.Real, 72000),  
  6. new TypedValue((int)DxfCode.Text, "Sales"));  
  7.  
  8. //為  
  9.  
  10. xRec.Data = new ResultBuffer(  
  11. new TypedValue((int)DxfCode.Text, name),  
  12. new TypedValue((int)DxfCode.Real, salary),  
  13. new TypedValue((int)DxfCode.Text, division));  

4) 因?yàn)槲覀儼压蛦T的名字從MText替換成塊的屬性定義,因此我們要?jiǎng)?chuàng)建一個(gè)相應(yīng)的屬性索引來(lái)顯示雇員的名字。屬性索引將使用屬性定義的屬性。

  1. //替換:  
  2.  
  3. btr.AppendEntity(br);//加入索引到模型空間  
  4. trans.AddNewlyCreatedDBObject(br,true);//讓事務(wù)處理知道  
  5.  
  6. //為  
  7.  
  8. AttributeReferenceattRef=newAttributeReference();  
  9. //遍歷雇員塊來(lái)查找屬性定義  
  10. BlockTableRecordempBtr=(BlockTableRecord)trans.
    GetObject(bt["EmployeeBlock"],OpenMode.ForRead);  
  11. foreach(ObjectIdidinempBtr)  
  12. {  
  13. Entityent=(Entity)trans.GetObject(id,OpenMode.ForRead,false);  
  14. //打開(kāi)當(dāng)前的對(duì)象!  
  15. if(entisAttributeDefinition)  
  16. {  
  17. //設(shè)置屬性為屬性索引中的屬性定義  
  18. AttributeDefinitionattDef=((AttributeDefinition)(ent));  
  19. attRef.SetPropertiesFrom(attDef);  
  20. attRef.Position=newPoint3d(attDef.Position.X+br.Position.X,
    attDef.Position.Y+br.Position.Y,attDef.Position.Z+br.Position.Z);  
  21. attRef.Height=attDef.Height;  
  22. attRef.Rotation=attDef.Rotation;  
  23. attRef.Tag=attDef.Tag;  
  24. attRef.TextString=name;  
  25. }  
  26. }  
  27. //把索引加入模型空間  
  28. btr.AppendEntity(br);  
  29. //把屬性索引加入到塊索引  
  30. br.AttributeCollection.AppendAttribute(attRef);  
  31. //讓事務(wù)處理知道  
  32. trans.AddNewlyCreatedDBObject(attRef,true);  
  33. trans.AddNewlyCreatedDBObject(br,true); 

5)不要忘記返回雇員塊索引的ObjectId,但要在提交事務(wù)處理之后才能返回:

  1. trans.Commit();  
  2. return br.ObjectId;  

6) 測(cè)試C# CreateEmployee()函數(shù)。加入一個(gè)Test命令來(lái)測(cè)試CreateEmployee:

  1. [CommandMethod("Test")]  
  2. public void Test()  
  3. {  
  4. CreateEmployee("Earnest Shackleton", "Sales", 10000, new Point3d(10, 10, 0));  
  5. }  

【編輯推薦】

  1. C#創(chuàng)建快捷方式簡(jiǎn)單描述
  2. C#壓縮Access數(shù)據(jù)庫(kù)詳細(xì)介紹
  3. C#實(shí)現(xiàn)加載動(dòng)態(tài)庫(kù)概述
  4. C#日期型數(shù)據(jù)簡(jiǎn)單剖析
  5. C#裝箱和拆箱簡(jiǎn)單描述
責(zé)任編輯:佚名 來(lái)源: 博客園
相關(guān)推薦

2009-08-31 09:59:13

C# CreateEm

2009-08-31 10:14:49

C# CreateEm

2009-07-31 14:26:38

JavaScript函C#函數(shù)

2009-07-30 15:24:13

C#析構(gòu)函數(shù)C#構(gòu)造函數(shù)

2009-07-31 14:03:21

C# Format函數(shù)

2009-07-31 14:15:38

C# 構(gòu)造函數(shù)

2009-08-24 18:09:13

C#構(gòu)造函數(shù)

2009-08-19 14:26:58

C# JavaScri

2009-08-10 14:43:03

C#函數(shù)Convert

2009-07-31 16:00:30

C#函數(shù)重載

2009-07-31 14:54:48

dll函數(shù)C#導(dǎo)出

2009-07-31 14:08:54

C# 匿名函數(shù)

2009-08-14 17:24:28

C#構(gòu)造函數(shù)和析構(gòu)函數(shù)

2009-07-31 15:52:47

C#常用函數(shù)

2009-08-03 13:34:57

C#調(diào)用Windows

2009-08-14 09:15:28

C#調(diào)用構(gòu)造函數(shù)

2009-07-31 15:44:02

C#靜態(tài)構(gòu)造函數(shù)

2009-07-31 15:22:56

C#判等函數(shù)

2009-08-25 10:59:00

C#調(diào)用函數(shù)顯示值

2009-07-31 15:10:21

C#函數(shù)指針數(shù)組C#數(shù)組
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)