Vitali
Vitali

Reputation: 11

How to provide custom implementation for extern methods in .NET?

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.

Upvotes: 1

Views: 688

Answers (2)

CommonSense
CommonSense

Reputation: 333

You would need to use LoadLibrary and GetProcAddress

Upvotes: 0

Yahia
Yahia

Reputation: 70369

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:

Upvotes: 1

Related Questions