delphi代码为:
function TMyPlugin.Get_BOUIEventsSupported: OleVariant;
var
begin
result := VarArrayCreate( [ 1, 1 ], varOleStr );
result[ 1 ] := ‘TEST’;
end;
我想在C#中是这样的:
public override object BOUIEventsSupported()
{
string[] result = new string[1];
result[1] = "TEST";
}
我也试过这个:
public override object BOUIEventsSupported => base.BOUIEventsSupported;
但我不知道如何在这个版本中添加数组……我现在迷路了。
来自文档:
VarArrayCreate创建一个变量数组,其边界由边界和VarType给定的元素类型。
例如:
{ Create a variant array of 10 elements, starting at 0
and ending at 9. The array contains elements of type Ole String }
Arr := VarArrayCreate([0, 9], varOleStr);
所以在您的例子中,您创建了一个由一个元素组成的数组,然后为该元素分配字符串TEST。
c#代码应该是:
public override object BOUIEventsSupported()
{
object[] result = new string[1];
result[1] = "TEST";
return result;
}
这是一个愚蠢的翻译,因为这两个代码版本一开始都没有任何意义。你现在需要回答的问题是谁编写了Delphi代码?在那之前他喝了什么?