C# 如何创建字符串[*]| |如何从Dll方法中处理字符串[*]参数?

C# 如何创建字符串[*]| |如何从Dll方法中处理字符串[*]参数?,c#,arrays,string,C#,Arrays,String,我有一个公开此函数的引用。我不知道该怎么通过 public static void GetDeviceInfoForImaging( string iP, string benutzername, string passwort, out string[*] deviceInfo) 因为不可能创建string[*]类型的变量,所以无法创建该函数,是吗 该函数来自LabVIEW.Net互操作程序集尝试一下: out string[ * ] deviceInfo 然后尝试以下方法提取值:

我有一个公开此函数的引用。我不知道该怎么通过

public static void GetDeviceInfoForImaging(
string iP, 
string benutzername, 
string passwort, 
out string[*] deviceInfo)
因为不可能创建string[*]类型的变量,所以无法创建该函数,是吗

该函数来自LabVIEW.Net互操作程序集

尝试一下:

out string[ * ] deviceInfo 
然后尝试以下方法提取值:

    Array deviceInfo = (Array)(object)Document.GetCrossReferenceItems(WdReferenceType.wdRefTypeHeading);

    public static void GetDeviceInfoForImaging(
    string iP, 
    string benutzername, 
    string passwort, 
    out string[*] deviceInfo)

C++DLL的可能副本通常使用字节[]以“0”结尾,而不是C++使用的字符串类。它不是重复的,<>代码> OUT//COD>关键字在这里是致命的。这个COM组件的作者在使其可用方面做得不是很好。最好与他联系,要求他修改IDL,使最后一个参数具有[out,retval]属性。如果这不是一个选项,那么您必须手动更改互操作库。使用ildasm.exe对其进行反编译,将参数类型更改为Array,并将其与ilasm.exeHi Maksim Simkin放回一起,我看不出该线程有什么帮助。我没有可以转换的字符串[*]的引用。我甚至无法编译,因为我无法将字符串[*]参数传递给函数。我用ildasm反编译了它,找到了声明:[out]string[…]和deviceInfo。现在我需要把它改成:?数组设备信息?在这种情况下,ilasm.exe在编译时返回语法错误。我需要哪个引用?是的,这可能不适用于您,因为您需要引用Microsoft.Office.Tools.Words。我无法在我的Visual Studio中引用Microsoft.Office.Tools.Word。
string firstElement = deviceInfo.GetValue(1);