c ++中的字符串* []转换为c#

时间:2015-08-02 16:57:01

标签: c# c++ .net dll

我是dot net的初学者。我的疑问如下: - 在一个DLL中,一个函数将string* []作为其参数之一。现在这个方法需要在c#中使用。这个dll引用被添加到c#项目中。现在在c#项目中按f12,即#34;转到定义"对于这个函数,它在函数原型中显示string[]代替string* []并代替long long,例如: - 假设在dll中函数看起来像 -

public void fn(long long a, string* attributeNames[]) {....}

现在在C# -

将dll引用添加到当前的c#项目之后。在功能名称上按F12,然后在Meta Data中显示以下功能原型 -

public void fn(long a, string[] attributeNames);

这个dll是包含托管代码和非托管代码的包装器 在此先感谢。

1 个答案:

答案 0 :(得分:1)

C ++转换为IL,在元数据中转换为C#。

您不需要在C#中显式定义指针,引用类型是隐式指针。这就是string* attributeNames[]转换为string[] attributeNames

的原因 C ++中的

long long是64位整数,在C#中是long