简体   繁体   中英

What are my options for C++ DLL to call a C# DLL?

I have a C++ DLL that needs to call a function (pass a value, return a value) in a C# class library.

Is my only option to give the C# DLL a COM interface and call it from C++ with IDispatch?

Is this the best method?

Couple of options available for you here

  1. Use a mixed mode C++/CLI assembly as a bridge between the C++ and C# DLL
  2. Use the a COM bridge by exposing several of the key C# types as COM objects. This can then be accessed via the C++ code by normal COM semantics

This project Creates dll exports for static methods in classes. You could then call a C# static method from unmanaged code.

One approach that would work would be to call it though COM. You can use the Regasm tool to create the COM wrapper.

It's not the only option.

You could also compile your C++ DLL as a managed DLL.

You could host your C# DLL as a service and remote into it.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM