[討論] Visual C# 中 AutoCAD 資料型別的轉換
2 posters
AutoCAD顧問 :: 技術(發言等級:一般會員) :: :: 進階討論
第1頁(共1頁)
[討論] Visual C# 中 AutoCAD 資料型別的轉換
在學習用Visual C# 撰寫 AutoCAD 的 .Net程式遇到下面的問題, 懇請各位先進協助。
Visual Basic 程式片斷如下:
Public ReadOnly Property ThisDrawing() As AcadDocument
Get
Return Autodesk.AutoCAD.ApplicationServices.Application. _
DocumentManager.MdiActiveDocument.AcadDocument
End Get
End Property
在VB裡上面這樣寫是可以的, 但在VC#中下面這樣寫卻不行?
public class CSTest
{
private AcadDocument retobj = Autodesk.AutoCAD.ApplicationServices.Application.
DocumentManager.MdiActiveDocument.AcadDocument;
public AcadDocument ThisDrawing
{
get {return retobj;}
}
}
編譯錯誤訊息指出 Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument.AcadDocument 的型別是 "Object", 必需透過型別轉換才可以指定給 retobj (型別為 "AcadDocument")
請問各位先進 要用什麼函數或是什麼方法可以把 Type Object 的資料轉成 Type AcadDocument 呢?
衍生的問題: 其它型別間的轉換要怎麼做?
Visual Basic 程式片斷如下:
Public ReadOnly Property ThisDrawing() As AcadDocument
Get
Return Autodesk.AutoCAD.ApplicationServices.Application. _
DocumentManager.MdiActiveDocument.AcadDocument
End Get
End Property
在VB裡上面這樣寫是可以的, 但在VC#中下面這樣寫卻不行?
public class CSTest
{
private AcadDocument retobj = Autodesk.AutoCAD.ApplicationServices.Application.
DocumentManager.MdiActiveDocument.AcadDocument;
public AcadDocument ThisDrawing
{
get {return retobj;}
}
}
編譯錯誤訊息指出 Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument.AcadDocument 的型別是 "Object", 必需透過型別轉換才可以指定給 retobj (型別為 "AcadDocument")
請問各位先進 要用什麼函數或是什麼方法可以把 Type Object 的資料轉成 Type AcadDocument 呢?
衍生的問題: 其它型別間的轉換要怎麼做?
woodybbs- 一般會員
- 文章總數 : 21
年齡 : 64
來自 : 台北
職業 : 土木
愛好 : 種菜
個性 : 內向
使用年資 : 新手
使用版本 : 2012
經驗值 : 4767
威望值 : 49
注冊日期 : 2012-04-17
回復: [討論] Visual C# 中 AutoCAD 資料型別的轉換
找到答案了
VC# 中需要嚴謹的註明型別, 所以下面這行
private AcadDocument retobj = Autodesk.AutoCAD.ApplicationServices.Application.
DocumentManager.MdiActiveDocument.AcadDocument;
要改成
private AcadDocument retobj = Autodesk.AutoCAD.ApplicationServices.Application.
DocumentManager.MdiActiveDocument.AcadDocument as AcadDocument;
就可以了。
VC# 中需要嚴謹的註明型別, 所以下面這行
private AcadDocument retobj = Autodesk.AutoCAD.ApplicationServices.Application.
DocumentManager.MdiActiveDocument.AcadDocument;
要改成
private AcadDocument retobj = Autodesk.AutoCAD.ApplicationServices.Application.
DocumentManager.MdiActiveDocument.AcadDocument as AcadDocument;
就可以了。
woodybbs- 一般會員
- 文章總數 : 21
年齡 : 64
來自 : 台北
職業 : 土木
愛好 : 種菜
個性 : 內向
使用年資 : 新手
使用版本 : 2012
經驗值 : 4767
威望值 : 49
注冊日期 : 2012-04-17
回復: [討論] Visual C# 中 AutoCAD 資料型別的轉換
很高興您自行找到方法,也謝謝你的回報分享~woodybbs 寫到:找到答案了
VC# 中需要嚴謹的註明型別, 所以下面這行
private AcadDocument retobj = Autodesk.AutoCAD.ApplicationServices.Application.
DocumentManager.MdiActiveDocument.AcadDocument;
要改成
private AcadDocument retobj = Autodesk.AutoCAD.ApplicationServices.Application.
DocumentManager.MdiActiveDocument.AcadDocument as AcadDocument;
就可以了。
____________________________________________________________________________________
👉快速比例設定與出圖技巧-線上課程(點我)👈
AutoCAD顧問 :: 技術(發言等級:一般會員) :: :: 進階討論
第1頁(共1頁)
這個論壇的權限:
您 無法 在這個版面回復文章