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);