将抽象C ++结构返回给C#

时间:2012-03-02 11:59:18

标签: c# c++ dll export abstract

我有一个C ++ DLL,它返回一个指向抽象结构的指针,这隐藏了底层类的接口。 DLL只导出一个函数getInstance,该函数创建一个继承自此抽象结构的C ++结构体的对象,并将其作为指向抽象结构类型的指针返回。

据我所知,C#不允许抽象结构,并且你不能有一个指向C#类的指针,所以我想不出一种方法可以将这个结构从C ++转换为C#

感谢。

1 个答案:

答案 0 :(得分:3)

在C ++中,结构和类是相同的。唯一的区别是它们默认为不同的访问指定(struct默认使用public,类默认为private)。

因此,您的抽象C ++结构变为C#,而不是 struct