[DllImport("xyz.dll")] C# Expression/Statement Mode
[System.Runtime.InteropServices.DllImport("xyz.dll")]
static extern void func();
works in C# Program Mode only
Can I use it in Expression / Statement Mode somehow?
[System.Runtime.InteropServices.DllImport("xyz.dll")]
static extern void func();
works in C# Program Mode only
Can I use it in Expression / Statement Mode somehow?
Comments
I believe the import is really just a declaration of a method that must exist within a class. I'm not sure if it can really be declared at the top-level, even with latest c# versions. In program mode, everything is place in a class (UserQuery) so it will work there. The same cannot be said for the other modes.
The following code works for me in Statements mode in LINQPad 7:
If you want to call external methods in Expression mode, you can so do by defining the external methods in a class in the "My Extensions" query:
In LINQPad 7 it works for me too, not in 5 I was using.
Probably because of that new function at Top-Level feature in recent C# / .Net