[英]Late binding in C# and .NET Framework 3.5
我試圖將此代碼轉換為C#.NET Framework 3.5,但該版本不是后期綁定友好。 如果我使用4.0,我會使用動態類型,但現在不是一個選項。
復雜的是我真正想要創建的對象( atl3270Tool
)是在參數內創建的。 幫助將不勝感激。
Dim atl3270Tool
Dim ErrMsg As String
Dim S_OK As UInt16 = 0
Dim atlDirectorObject = CreateObject("atlDirectorObject.atlDirector")
If atlDirectorObject.CreateTool("3270", 1, True, True, 0, atl3270Tool, ErrMsg) <> S_OK Then
'Terminate
End If
在vb.net中很容易進行后期綁定。 因此,利用.NET支持以不同語言編寫代碼,添加一個vb.net類庫項目來包裝COM組件。
標識符名稱上的“atl”前綴很奇怪。 ATL是ActiveX模板庫的縮寫,ActiveX模板庫是一種非常流行的編寫COM組件的C ++庫。 默認情況下,它會創建支持雙重綁定的服務器,包括遲到和早期。 對於早期綁定,您需要一個類型庫,它通過ATL項目中的默認值嵌入到可執行文件中。 因此,請確保您沒有浪費機會編寫早期綁定的C#代碼。 Project + Add Reference,Browse選項卡,選擇DLL。 如果您沒有投訴,那么您是金色的,使用對象瀏覽器查看生成的互操作庫。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.