How can we export C# methods?
I have a dll and I want to use its methods in the Python language with the ctypes module. Because I need to use the ctypes module, I ne
That's not possible. If you need DLL exports you'll need to use the C++/CLI language. For example:
public ref class Class1 {
public:
static int add(int a, int b) {
return a + b;
}
};
extern "C" __declspec(dllexport)
int add(int a, int b) {
return Class1::add(a, b);
}
The class can be written in C# as well. The C++/CLI compiler emits a special thunk for the export that ensures that the CLR is loaded and execution switches to managed mode. This is not exactly fast.
Writing [ComVisible(true)] code in C# is another possibility.