我無法將C#代碼翻譯成VB 6(在looooong中沒有這樣做)。有沒有一種解決方案,我可以在.NET中編寫代碼,然後讓VB6調用該函數?有沒有辦法讓VB 6應用程序調用.NET程序集?
1
A
回答
5
是的,您可以使用regasm.exe實用程序將您的託管程序集作爲COM對象公開。爲了使這些類可見,組件或各個類需要使用[ComVisible(true)]
屬性進行標記。一旦該組件暴露爲COM對象,就可以像使用任何標準COM對象一樣從VB6中使用它。
3
暴露你的.NET方法COM,你需要創建一個接口:
[Guid("CF4CDE18-8EBD-4e6a-94B4-6D5BC0D7F5DE")]
[InterfaceType(ComInterfaceType.InterfaceIsIDispatch)]
[ComVisible(true)]
public interface IFoo {
[DispId(1)]
string MyMethod(string value);
}
你的類會從接口派生:
[Guid("7EBD9126-334C-4893-B832-706E7F92B525")]
[ClassInterface(ClassInterfaceType.None)]
[ComVisible(true)]
[ProgId("MyNamespace.Foo")]
public class Foo: IFoo {
public string MyMethod(string value){
return somestring;
}
}
從VB6,您的通話將看起來像這樣:
Dim oFoo as New Foo
dim sReturn as string
sReturn = oFoo.MyMethod("someValue")
相關問題
- 1. 有沒有辦法讓python應用程序無法運行?
- 2. 有沒有辦法編程「重啓」.net程序集?
- 3. 有沒有辦法「熱發佈」.NET核心應用程序?
- 4. 有沒有辦法讓本機操作系統應用程序
- 5. 有沒有辦法讓C#中的應用程序iphone
- 6. 有沒有辦法讓phonegap應用程序更安全?
- 7. 有沒有辦法讓Java應用程序獲得root權限?
- 8. 有沒有辦法讓模糊Swing應用程序?
- 9. 有沒有辦法在javaFX應用程序中集成html IFrame
- 10. 有沒有辦法解決.NET代碼之外的程序集?
- 11. 有沒有辦法調試iTunes應用程序? 「
- 12. 有沒有辦法在heroku上調試play2應用程序?
- 13. 有沒有辦法讓所有的應用程序安裝在用戶的iPhone?
- 14. 有沒有辦法讓我的C++應用程序的進程ID?
- 15. 有沒有辦法將.NET 4庫編組爲.NET 2應用程序?
- 16. 有沒有辦法從C#.NET程序集(ActiveX)發送消息到VB6應用程序?
- 17. 有沒有辦法遠程查看Swing應用程序?
- 18. 有沒有辦法找出程序集從一個相關程序集中使用哪個.net符號?
- 19. 有沒有辦法在.NET Framework 2中使用C#應用程序中的linq?
- 20. 有沒有辦法讓應用程序一起使用Web Socket和XMPP?
- 21. 有沒有辦法讓用戶進入另一個應用程序的市場?
- 22. 有沒有辦法讓WinRT應用程序測量自己的CPU使用率?
- 23. 有沒有辦法讓SendInput與使用GDK的應用程序一起工作?
- 24. 有沒有辦法讓ExtJS 4.0應用程序中的所有控制器
- 25. 有沒有什麼辦法讓我的應用程序從Apple地圖應用程序獲取書籤列表?
- 26. 有沒有辦法讓我的應用程序將其圖標推送到其他應用程序?
- 27. 有沒有辦法讓Silverlight應用程序和Flash應用程序進行通信?
- 28. Facebook應用程序:有沒有辦法讓facebook存儲應用程序的歷史記錄?
- 29. 有沒有辦法允許Delphi應用程序使用Hazelcast?
- 30. 有沒有辦法用python開發OS X應用程序?