C++ と C# を組み合わせて練習するための小さなデモを作成しました (私にとって非常に望ましいスキルです)。
次のようになります。
この問題は、クラスPerson
に type のメンバーがあるという事実から発生しName
ます。
これらのクラスを C# に公開する正しい方法は何でしょうか?
たとえば、このコンストラクターを公開する方法は次のとおりです。
Person(Name name);
説明するのは難しいですが、問題は、このPerson
コンストラクターがネイティブのオブジェクトを受け入れるName
ことです。このネイティブ オブジェクトを C# で作成してコンストラクターに渡すことはできません。それは望ましくないでしょう。
そして、それのラッパーを書いたとしても(たとえば) 、受け入れられるコンストラクターがないため、ManagedName
それを渡すことができません。Person
この状況にどのように対処すればよいですか?
要求されたヘッダーは次のとおりです。
Nullable: http://pastebin.com/z7zTCrAq
Name: http://pastebin.com/ALNp5c1a
Person: http://pastebin.com/nkWyUv9C