C# 转换类型

C# 转换类型,c#,c++,C#,C++,如何在C#中定义上述代码行 C#没有typedef,所以不能用C#写那一行。如果你告诉我们你想做什么,也许有一个解决办法。但你的问题的答案是:一点也不 typedef只是一个类型的别名,另一个名称。C#中没有别名。该声明在其他方面与 typedef wchar_t WCHAR buf[1024] ; // code from C++ dll 您将在pinvoke声明中使用一个普通字符[],并传递一个如上所示分配的数组。我会对这段代码保持谨慎,在全局名称空间中添加标识符“buf”是自找麻烦。如果

如何在C#中定义上述代码行

C#没有typedef,所以不能用C#写那一行。如果你告诉我们你想做什么,也许有一个解决办法。但你的问题的答案是:一点也不

typedef只是一个类型的别名,另一个名称。C#中没有别名。该声明在其他方面与

typedef wchar_t WCHAR buf[1024] ; // code from C++ dll

您将在pinvoke声明中使用一个普通字符[],并传递一个如上所示分配的数组。我会对这段代码保持谨慎,在全局名称空间中添加标识符“buf”是自找麻烦。

如果没有
WCHAR
的定义,就无法说明您发布的代码。但是,假设<>代码> WCHAR 是某种类型的名称,您所发布的代码不是有效的C++代码。它不会编译成C++代码。
同时,您似乎声称它来自某个“C++dll”。很可能您没有正确地复制原始代码。更新代码,因为它的当前形式使你的问题毫无意义。

C++中的前一行,我需要在C语言@ USE689851中使用Pinvoke:你所提供的行不是C++,一次又一次。WChar是一个非常普遍的(Windows)TyPufF/宏,用于宽字符,C#中的普通字符。@Henk Holterman:如果
WCHAR
是宽字符类型的typedef/macro,则OP的声明无效,因为它已经显式包含
WCHAR\t
类型。然而OP声称它来自有效代码。该代码有效的唯一希望是如果
WCHAR
代表其他东西。安德烈,二读时你是对的,但这仍然是一个胜利的东西。
 char[] buf = new char[1024];