无效的令牌命名空间、类型或命名空间未找到,无效的令牌“{”
invalid token namespace, type or namespace not found, invalid token "{"
我想从我的应用程序中调用任何人并找到此方法,但它不起作用..
namespace SysWin32
{
class programm
{
[DllImport("Tapi32.dll")]
public static extern long tapiRequestMakeCall(string Number, string AppName, string CalledParty, string Comment);
}
}
假设您将该代码放在正确的位置,您问题中的代码可以完美编译。您报告的编译器错误与问题中不存在的代码有关。
也许您将问题中的代码嵌套在另一个 class 中。例如这段代码:
namespace ConsoleApplication1
{
class Program
{
namespace SysWin32
{
class programm
{
[DllImport("Tapi32.dll")]
public static extern long tapiRequestMakeCall(string Number,
string AppName, string CalledParty, string Comment);
}
}
static void Main(string[] args)
{
}
}
}
导致与您报告的错误类似的错误。当然,我不得不猜测您的真实代码是什么。也许这是一个变体。不管了,关键是题中的代码没问题,问题出在它周围的代码,我们看不到的代码。
我还要指出函数 return 类型是错误的。在 Windows 上的 C 和 C++ 中,long
是一个 32 位有符号整数。在 C# 中,long
是一个 64 位有符号整数。因此,tapiRequestMakeCall
的 return 值类型应在 C# p/invoke 声明中声明为 int
。
将编译以下代码:
namespace ConsoleApplication1
{
class programm
{
[DllImport("Tapi32.dll")]
public static extern int tapiRequestMakeCall(string Number,
string AppName, string CalledParty, string Comment);
static void Main(string[] args)
{
}
}
}
我想从我的应用程序中调用任何人并找到此方法,但它不起作用..
namespace SysWin32
{
class programm
{
[DllImport("Tapi32.dll")]
public static extern long tapiRequestMakeCall(string Number, string AppName, string CalledParty, string Comment);
}
}
假设您将该代码放在正确的位置,您问题中的代码可以完美编译。您报告的编译器错误与问题中不存在的代码有关。
也许您将问题中的代码嵌套在另一个 class 中。例如这段代码:
namespace ConsoleApplication1
{
class Program
{
namespace SysWin32
{
class programm
{
[DllImport("Tapi32.dll")]
public static extern long tapiRequestMakeCall(string Number,
string AppName, string CalledParty, string Comment);
}
}
static void Main(string[] args)
{
}
}
}
导致与您报告的错误类似的错误。当然,我不得不猜测您的真实代码是什么。也许这是一个变体。不管了,关键是题中的代码没问题,问题出在它周围的代码,我们看不到的代码。
我还要指出函数 return 类型是错误的。在 Windows 上的 C 和 C++ 中,long
是一个 32 位有符号整数。在 C# 中,long
是一个 64 位有符号整数。因此,tapiRequestMakeCall
的 return 值类型应在 C# p/invoke 声明中声明为 int
。
将编译以下代码:
namespace ConsoleApplication1
{
class programm
{
[DllImport("Tapi32.dll")]
public static extern int tapiRequestMakeCall(string Number,
string AppName, string CalledParty, string Comment);
static void Main(string[] args)
{
}
}
}