2

我首先引用了这个问题来开始,但在尝试使用 Delphi XE 中的 .NET 程序集返回或类数组时遇到了障碍。

考虑以下:

//C#
[ComVisible(true)]
public class Person {
    public int Id;
    public string Name;
}

public class SomeClass 
{
    public SomeClass() {}        

    public Person[] GetPersons()
    {
        //some code
    }
}

//Delphi
type TPerson = class
  Id : Integer;
  Name : string;
end;

我如何理解GetPersons()可以分配给array of TPersonDelphi 的返回数据?

4

1 回答 1

2

你不能,至少不能那样。Delphi 和.NET 有不同的对象模型和不同的字符串类型,它们彼此不兼容。如果要在 .NET 和 Delphi 模块之间传递对象,最好的方法可能是使用 COM。

于 2010-11-16T00:46:46.020 回答