真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

C#中Employee對(duì)象的作用是什么

這篇文章給大家介紹C# 中Employee對(duì)象的作用是什么,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對(duì)大家能有所幫助。

專注于為中小企業(yè)提供成都網(wǎng)站建設(shè)、網(wǎng)站制作服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)江口免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了上千多家企業(yè)的穩(wěn)健成長(zhǎng),幫助中小企業(yè)通過(guò)網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。

C# Employee對(duì)象

命令的名字是PRINTOUTEMPLOYEE。ListEmployee()函數(shù)接收一個(gè)ObjectId參數(shù),它通過(guò)一個(gè)ref類型的字符串?dāng)?shù)組返回值(包含相應(yīng)的雇員數(shù)據(jù))。調(diào)用它的PrintoutEmployee()函數(shù)只是用來(lái)在命令行中輸出這些數(shù)據(jù)。

我們需要一個(gè)遍歷并顯示所有雇員數(shù)據(jù)的命令。

  1. public static void ListEmployee(ObjectId employeeId, ref string[] saEmployeeList)  

  2. {  

  3. int nEmployeeDataCount = 0;  

  4. Database db = HostApplicationServices.WorkingDatabase;  

  5. Transaction trans = db.TransactionManager.StartTransaction(); //開始事務(wù)處理。  

  6. try  

  7. {  

  8. Entity ent = (Entity)trans.GetObject(employeeId, OpenMode.ForRead, false); 

  9. //打開當(dāng)前對(duì)象!  

  10. if (ent.GetType() == typeof(BlockReference))  

  11. {  

  12. //不是所有的塊索引都有雇員數(shù)據(jù),所以我們要處理錯(cuò)誤  

  13. bool bHasOurDict = true;  

  14. Xrecord EmployeeXRec = null;  

  15. try{  

  16. BlockReference br = (BlockReference)ent;  

  17. DBDictionary extDict = (DBDictionary)trans.GetObject
    (br.ExtensionDictionary, OpenMode.ForRead, false);  

  18. EmployeeXRec = (Xrecord)trans.GetObject(extDict.GetAt("EmployeeData"), 
    OpenMode.ForRead, false);  

  19. }  

  20. catch  

  21. {  

  22. bHasOurDict = false; //出現(xiàn)了錯(cuò)誤……字典或擴(kuò)展記錄不能訪問(wèn)  

  23. }  

  24. if (bHasOurDict) //如果獲得擴(kuò)展字典,而又有擴(kuò)展記錄……  

  25. {  

  26. // 為雇員列表分配內(nèi)存  

  27. saEmployeeList = new String[4];  

  28. //加入雇員的名字  

  29. TypedValue resBuf = EmployeeXRec.Data.AsArray()[0];  

  30. saEmployeeList.SetValue(string.Format("{0}\n", resBuf.Value), 
    nEmployeeDataCount);  

  31. nEmployeeDataCount += 1;  

  32. //加入雇員的薪水  

  33. resBuf = EmployeeXRec.Data.AsArray()[1];  

  34. saEmployeeList.SetValue(string.Format("{0}\n", resBuf.Value), 
    nEmployeeDataCount);  

  35. nEmployeeDataCount += 1;  

  36. //加入雇員所在的部門  

  37. resBuf = EmployeeXRec.Data.AsArray()[2];  

  38. string str = (string)resBuf.Value;  

  39. saEmployeeList.SetValue(string.Format("{0}\n", resBuf.Value), 
    nEmployeeDataCount);  

  40. nEmployeeDataCount += 1;  

  41. //現(xiàn)在,讓我們從公司字典中獲取老板的名字  

  42. //在NOD中找到.  

  43. DBDictionary NOD = (DBDictionary)trans.GetObject(db.NamedObjectsDictionaryId, 
    OpenMode.ForRead, false);  

  44. DBDictionary acmeDict = (DBDictionary)trans.GetObject(NOD.GetAt("ACME_DIVISION"), 
    OpenMode.ForRead);  

  45. //注意我們直接使用擴(kuò)展數(shù)據(jù)...  

  46. DBDictionary salesDict = (DBDictionary)trans.GetObject(acmeDict.GetAt
    ((string)EmployeeXRec.Data.AsArray()[2].Value),OpenMode.ForRead);  

  47. Xrecord salesXRec = (Xrecord)trans.GetObject(salesDict.GetAt("Department Manager"), 
    OpenMode.ForRead);  

  48. //***,把雇員的數(shù)據(jù)輸出到命令行  

  49. resBuf = salesXRec.Data.AsArray()[0];  

  50. saEmployeeList.SetValue(string.Format("{0}\n", resBuf.Value), nEmployeeDataCount);  

  51. nEmployeeDataCount += 1;  

  52. }  

  53. }  

  54. trans.Commit();  

  55. }  

  56. finally  

  57. {  

  58. trans.Dispose();  

  59. }  

  60. }  

  61.  

  62. [CommandMethod("PRINTOUTEMPLOYEE")]  

  63. public static void PrintoutEmployee()  

  64. {  

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

  66. //聲明我們將在下面使用的工具...  

  67. Database db = HostApplicationServices.WorkingDatabase;  

  68. Transaction trans = db.TransactionManager.StartTransaction();  

  69. try  

  70. {  

  71. //首先,獲取塊表和模型空間塊表記錄  

  72. BlockTable bt = (BlockTable)trans.GetObject(HostApplicationServices.
    WorkingDatabase.BlockTableId, OpenMode.ForRead);  

  73. BlockTableRecord btr = (BlockTableRecord)trans.GetObject(bt[BlockTableRecord.ModelSpace], 
    OpenMode.ForRead);  

  74. //現(xiàn)在,我們需要把內(nèi)容輸出到命令行。這里可以有一個(gè)對(duì)象幫助我們:  

  75. //下面的部分,我們將遍歷模型空間:  

  76. foreach (ObjectId id in btr)  

  77. {  

  78. Entity ent = (Entity)trans.GetObject(id, OpenMode.ForRead, false); //打開當(dāng)前對(duì)象!  

  79. if (ent is BlockReference)  

  80. {  

  81. string[] saEmployeeList = null;// 這是正確的...定義新的列表。  

  82. ListEmployee(id, ref saEmployeeList);  

  83. if ((saEmployeeList.Length == 4))  

  84. {  

  85. ed.WriteMessage("Employee Name: {0}", saEmployeeList[0]);  

  86. ed.WriteMessage("Employee Salary: {0}", saEmployeeList[1]);  

  87. ed.WriteMessage("Employee Division: {0}", saEmployeeList[2]);  

  88. ed.WriteMessage("Division Manager: {0}", saEmployeeList[3]);  

  89. }  

  90. }  

  91. }  

  92. }  

  93. finally  

  94. {  

  95. }  

關(guān)于C# 中Employee對(duì)象的作用是什么就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。


本文標(biāo)題:C#中Employee對(duì)象的作用是什么
網(wǎng)站路徑:http://weahome.cn/article/jphsod.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部