Note that there are some explanatory texts on larger screens.

plurals
  1. POreturn array of object from C# to C in COM
    primarykey
    data
    text
    <p>I am using COM to communicate between C++ and C#.</p> <p>I have the following classes in C#</p> <ol> <li><p>Email Address</p> <pre><code>/// &lt;summary&gt; /// Email Address /// &lt;/summary&gt; public class EmailAddress { /// &lt;summary&gt; /// SMTP Address /// &lt;/summary&gt; [MarshalAs(UnmanagedType.BStr)] public string Address; /// &lt;summary&gt; /// Name /// &lt;/summary&gt; [MarshalAs(UnmanagedType.BStr)] public string Name; } </code></pre></li> <li><p>Mailbox</p> <pre><code>/// &lt;summary&gt; /// MailBox Entity /// &lt;/summary&gt; public struct MailBoxEntity { /// &lt;summary&gt; /// SMTP Address /// &lt;/summary&gt; [MarshalAs(UnmanagedType.BStr)] public string SMTPAddress; /// &lt;summary&gt; /// Mailbox Display Name /// &lt;/summary&gt; [MarshalAs(UnmanagedType.BStr)] public string Name; /// &lt;summary&gt; /// Mailbox Server Name /// &lt;/summary&gt; [MarshalAs(UnmanagedType.BStr)] public string sServerName; } </code></pre></li> <li><p>EmailEntity (yet to implement IEmailEntity which will contain properties for each field)</p> <pre><code>/// &lt;summary&gt; /// Class for Email Entity /// &lt;/summary&gt; public class EmailEntity : IEmailEntity { /// &lt;summary&gt; /// BccRecipients /// &lt;/summary&gt; [MarshalAs(UnmanagedType.ByValArray)] public EmailAddress[] BccRecipients; /// &lt;summary&gt; /// Body /// &lt;/summary&gt; [MarshalAs(UnmanagedType.BStr)] public string Body; /// &lt;summary&gt; /// CcRecipients /// &lt;/summary&gt; [MarshalAs(UnmanagedType.ByValArray)] public EmailAddress[] CcRecipients; /// &lt;summary&gt; /// Culture /// &lt;/summary&gt; [MarshalAs(UnmanagedType.BStr)] public string Culture; /// &lt;summary&gt; /// DateTimeCreated /// &lt;/summary&gt; [MarshalAs(UnmanagedType.BStr)] public string DateTimeCreated; /// &lt;summary&gt; /// DateTimeReceived /// &lt;/summary&gt; [MarshalAs(UnmanagedType.BStr)] public string DateTimeReceived; /// &lt;summary&gt; /// DateTimeSent /// &lt;/summary&gt; [MarshalAs(UnmanagedType.BStr)] public string DateTimeSent; /// &lt;summary&gt; /// FromAddress /// &lt;/summary&gt; [MarshalAs(UnmanagedType.BStr)] public string FromAddress; /// &lt;summary&gt; /// FromName /// &lt;/summary&gt; [MarshalAs(UnmanagedType.BStr)] public string FromName; /// &lt;summary&gt; /// HasAttachments /// &lt;/summary&gt; [MarshalAs(UnmanagedType.BStr)] public string HasAttachments; /// &lt;summary&gt; /// Id /// &lt;/summary&gt; [MarshalAs(UnmanagedType.BStr)] public string Id; /// &lt;summary&gt; /// Importance /// &lt;/summary&gt; [MarshalAs(UnmanagedType.BStr)] public string Importance; /// &lt;summary&gt; /// LastModifiedName /// &lt;/summary&gt; [MarshalAs(UnmanagedType.BStr)] public string LastModifiedName; /// &lt;summary&gt; /// LastModifiedTime /// &lt;/summary&gt; [MarshalAs(UnmanagedType.BStr)] public string LastModifiedTime; /// &lt;summary&gt; /// MimeContent /// &lt;/summary&gt; [MarshalAs(UnmanagedType.BStr)] public string MimeContent; /// &lt;summary&gt; /// ParentFolderId /// &lt;/summary&gt; [MarshalAs(UnmanagedType.BStr)] public string ParentFolderId; /// &lt;summary&gt; /// Original Mailbox /// &lt;/summary&gt; [MarshalAs(UnmanagedType.BStr)] public MailBoxEntity OriginalMailBox; /// &lt;summary&gt; /// ParentFolderName /// &lt;/summary&gt; [MarshalAs(UnmanagedType.BStr)] public string ParentFolderName; /// &lt;summary&gt; /// ReceivedByAddress /// &lt;/summary&gt; [MarshalAs(UnmanagedType.BStr)] public string ReceivedByAddress; /// &lt;summary&gt; /// ReceivedByName /// &lt;/summary&gt; [MarshalAs(UnmanagedType.BStr)] public string ReceivedByName; /// &lt;summary&gt; /// Size /// &lt;/summary&gt; [MarshalAs(UnmanagedType.BStr)] public string Size; /// &lt;summary&gt; /// Subject /// &lt;/summary&gt; [MarshalAs(UnmanagedType.BStr)] public string Subject; /// &lt;summary&gt; /// ToRecipients /// &lt;/summary&gt; [MarshalAs(UnmanagedType.ByValArray)] public EmailAddress[] ToRecipients; } </code></pre></li> </ol> <p>How do I access access an <strong>array of EmailEnity objects</strong> (in C++) returned from a function in C# and read the fields of the EmailEntity class. Please note that EmailEntity class contains members like EmailAddress[] which itself is an array of objects. I was planning to implement interface IEmailEntity that contains properties to access fields of EmailEntity and use it to access fields in C++. Is that the right way ?</p> <p>How do I access complex fields members like array of EmailAddress (EmailAddress[] ToRecipients) in C++.</p> <p>Please suggest.</p> <p>Thanks</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload