title: Using a C++ class that has an object of another C++ class in C#
body: <p>I've created a little demo for myself to practice combining C++ &amp; C# (a very desirable skill for me).<br />
  It looks like this:</p>
  
  <p><img src="https://i.stack.imgur.com/L2ouu.jpg" alt="Class Diagram"></p>
  
  <p>The issue arises from the fact that the class <code>Person</code> has a member of type <code>Name</code>.<br />
  What would be the correct way to expose these classes to C#?</p>
  
  <p>For example how would I expose this constructor:</p>
  
  <pre><code>    Person(Name name);
  </code></pre>
  
  <p>It's kind of hard to explain but the issue is that this <code>Person</code> constructor accepts a <code>Name</code> object which is native, and I can't create this native object in C# and just pass it in the constructor, right? It wouldn't even be desirable.<br />
  And even if I write a wrapper for it (say <code>ManagedName</code>) I can't pass it to <code>Person</code> since there's no acceptable constructor.</p>
  
  <p>How should I cope with this situation?</p>
  
  <p>Here are the headers as requested:</p>
  
  <p>Nullable: <a href="http://pastebin.com/z7zTCrAq" rel="nofollow noreferrer">http://pastebin.com/z7zTCrAq</a><br />
  Name: <a href="http://pastebin.com/ALNp5c1a" rel="nofollow noreferrer">http://pastebin.com/ALNp5c1a</a><br />
  Person: <a href="http://pastebin.com/nkWyUv9C" rel="nofollow noreferrer">http://pastebin.com/nkWyUv9C</a><br /></p>