Just to check that I understand you:
You want to call a .Net interface method in a C# DLL from a C++ application?
If so, and you're using Visual C++, then you might be able to use
#pragma managed
to create a region of managed C++ (that is, C++/CLI) which can be used to call the .Net DLL (or assembly)
Whether it's possible or not will depend on the types of parameter the interface methods take. In some case, you will have to marshal from native to managed types. If you're lucky, all or most of the types will be blittable, which means they can passed directly from unmanaged to managed code.
See the following thread for a basic example ("Hello, .Net world")
Visual C++ 2010 - Unmanged C calling managed c++ dll
http://www.cplusplus.com/forum/windows/85559/
(Note that while this thread refers to a C++/CLI DLL, the prob. is identical. The whole point of .Net is that the assembly created is language independent (from outside). The same approach can be used to call any .Net assembly (the DLL) from native C++, whether the .Net assembly was coded in C#, C++/CLI, VB.Net, etc)
An alternative strategy is to create a COM interop DLL for the managed assembly and then call the C# DLL from the C++ using COM.
Exposing .NET Framework Components to COM
http://msdn.microsoft.com/en-us/library/zsfww439.aspx
The
#pragma managed
would be the most efficent if possible.
Andy
PS Blittable and Non-Blittable Types
http://msdn.microsoft.com/en-us/library/75dwhxf7.aspx