大家好,我正在尝试在 C# 中调用这个 C++ 函数:
BOOL __stdcall CodecStart(int hRadio,void __stdcall (*CallbackFunc)(void *),void *CallbackTarget);
Run Code Online (Sandbox Code Playgroud)
这是来自此处http://www.winradio.com/home/g305_sdk.htm的 WinRadio api 。
我确实发现其他人要求在网上调用这个特定的函数,他们有:
public delegate void CallbackFunc( IntPtr p);
[DllImport("WRG305API.dll")]
public static extern bool CodecStart(int hRadio, CallbackFunc func, IntPtr CallbackTarget);
Run Code Online (Sandbox Code Playgroud)
但我无法弄清楚如何进一步实施。
关于如何称呼它的任何想法或指导?
非常感谢
我想编写自己的自定义复合语句,它们具有类似的机制using和lock机制,它们在编译之前在语句块的开头和结尾注入代码.
我一直在尝试寻找可能提出类似问题的问题,但我无法正确地弄清楚这种"代码范围"被称为什么,除了文档说这些是复合语句.
我知道"锁定"和"使用"是关键字.我不想拥有自己的关键字,因为我知道这是不可能的.
我不确定在c#中是否可以这样做,例如:
而不是做:
StartContext(8);
//make method calls
EndContext();
Run Code Online (Sandbox Code Playgroud)
这可以减少到:
DoSomethingInContext(8) {
//make method calls
}
Run Code Online (Sandbox Code Playgroud)
当然,这不一定只是一个单行调用.encapuslated代码的开头和结尾可以是由自定义复合语句插入的多行代码.
我写了一个程序的bizzare问题,其中命令File.Exists()并不总是在与可执行文件相同的目录中检测到相同的文件.
我有类似的东西:
if (File.Exists("TextFile1.txt"))
{
//do some stuff
}
Run Code Online (Sandbox Code Playgroud)
但奇怪的是,如果我在cmd提示符下运行此可执行文件,它不会检测到该文件.但是,如果我通过另一个进程启动此可执行文件,它将检测文件精细.
关于这个bizzare问题的任何想法?谢谢.