を渡しアンマネージドC++からC#のメソッドを呼び出す:私はC#で、次のようなもの持って戻って完全なオブジェクトモデル
public class ClassA
{
int Id { get; set; }
ClassB[] ClassBItems { get; set; }
}
と
public class ClassB
{
int SomeOtherId {get;set;}
}
を私は非管理には、このオブジェクトモデルを渡したいですC++。私。 'GetClassA():ClassA'のようなアンマネージC++コードからの呼び出しがあります。
これまでは、管理対象のC#から(COM/CCWを使用して)管理されていないC++に単一のオブジェクトまたはオブジェクトの配列を渡すことができましたが、その内部にClassBを継承していません。
私の質問は以下のとおりです。
- はどのようにClassA、内部にClassBの配列を返す渡すことができますか?
- これまでのところ、私はC#から構造体を戻すことしかできませんでした。上記の私の例は、私が実際に返すことを望むクラスです。私。データへの参照。
明確にするため、アンマネージコードはマネージコードを呼び出します。
本当にC#メソッドを呼び出すことはできませんが、同じ概念であるCOMを使用して.netコードを呼び出すことができます。私はC#クラスからCOMオブジェクトを作成してうれしいですが、元の投稿に記載されているのと同じ構造を維持できますか?ありがとう。 – ahallan