中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C# 中CreateEmployee()函數如何使用

發布時間:2021-07-07 17:27:23 來源:億速云 閱讀:147 作者:Leah 欄目:編程語言

今天就跟大家聊聊有關C# 中CreateEmployee()函數如何使用,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。

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

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

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

2) 移除上面函數中的CommandMethod屬性”CREATE”,這樣它就不再是用來創建雇員的命令。

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

  1. //替換  

  2. BlockReference br = new BlockReference
    (new Point3d(10, 10, 0), CreateEmployeeDefinition());  

  3. //為  

  4. BlockReference br = new BlockReference
    (pos, CreateEmployeeDefinition());  

//替換   xRec.Data = new ResultBuffer(  new TypedValue((int)DxfCode.Text, "Earnest Shackleton"),  new TypedValue((int)DxfCode.Real, 72000),  new TypedValue((int)DxfCode.Text, "Sales"));   //為   xRec.Data = new ResultBuffer(  new TypedValue((int)DxfCode.Text, name),  new TypedValue((int)DxfCode.Real, salary),  new TypedValue((int)DxfCode.Text, division));

4) 因為我們把雇員的名字從MText替換成塊的屬性定義,因此我們要創建一個相應的屬性索引來顯示雇員的名字。屬性索引將使用屬性定義的屬性。

  1. //替換:  

  2.  

  3. btr.AppendEntity(br);//加入索引到模型空間  

  4. trans.AddNewlyCreatedDBObject(br,true);//讓事務處理知道  

  5.  

  6. //為  

  7.  

  8. AttributeReferenceattRef=newAttributeReference();  

  9. //遍歷雇員塊來查找屬性定義  

  10. BlockTableRecordempBtr=(BlockTableRecord)trans.
    GetObject(bt["EmployeeBlock"],OpenMode.ForRead);  

  11. foreach(ObjectIdidinempBtr)  

  12. {  

  13. Entityent=(Entity)trans.GetObject(id,OpenMode.ForRead,false);  

  14. //打開當前的對象!  

  15. if(entisAttributeDefinition)  

  16. {  

  17. //設置屬性為屬性索引中的屬性定義  

  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. //讓事務處理知道  

  32. trans.AddNewlyCreatedDBObject(attRef,true);  

  33. trans.AddNewlyCreatedDBObject(br,true); 

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

trans.Commit();  return br.ObjectId;

6) 測試C# CreateEmployee()函數。加入一個Test命令來測試CreateEmployee:

[CommandMethod("Test")]  public void Test()  {  CreateEmployee("Earnest Shackleton", "Sales", 10000, new Point3d(10, 10, 0));  }

看完上述內容,你們對C# 中CreateEmployee()函數如何使用有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

南乐县| 洪湖市| 建湖县| 崇信县| 湖北省| 重庆市| 无锡市| 古蔺县| 潮安县| 鲜城| 桦南县| 雷州市| 茌平县| 读书| 凯里市| 通河县| 许昌县| 中西区| 兴海县| 井冈山市| 图们市| 称多县| 商都县| 临沧市| 太和县| 云阳县| 滨海县| 通州区| 庐江县| 新乡市| 屏山县| 和田市| 乃东县| 全椒县| 宝鸡市| 阳高县| 双城市| 班玛县| 巫山县| 抚州市| 赤峰市|