"C++ master C# slave" struct
write COM visible interface and classes in C# and expose them through COM
import a type library in C++
use COM smart pointers to consume the COM components
understand the various type library files created in the process
understand the marshalling of types between C# and C++
handle marshaled arrays
handle marshaled interfaces
https://www.codeproject.com/Articles/1195963/Interoping-NET-and-Cplusplus-through-COM
Write a custom .NET Core host to control the .NET runtime from your native code