1
votes

In C# the extern modifier is used to declare a method that is implemented externally. Usually it is used with DllImport attribute to call some function in unmanaged code.

I wonder if there is a way to provide custom implementation of extern method?

To understand better the problem consider the following use case. I have a set of functions implemented in unmanaged code and I'd like to supply pointers to these function in run-time (during the loading of assembly).

The same thing DllImport attribute does, but I'd like to provide pointers by myself.

2
There's no mechanism beyond [DllImport] that I know of that allows binding an extern method to code elsewhere. Maybe a .netmodule but they are hard to deal with.Hans Passant

2 Answers

1
votes

This is possible although you would need to PInvoke several things (LoadLibrary and GetProcAddress - see links below)... it is called "late binding native code"...

Some relevant links with source:

0
votes