簡體   English   中英

C#和.NET Framework 3.5中的后期綁定

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM