【发布时间】:2013-05-01 16:27:27
【问题描述】:
我必须为需要通过 COM 从 C++ 调用的类的成员放置 MarshalType 属性。 该类的成员是接口 IEmailAddress[] 的数组。
有人可以告诉我在接口数组的情况下属性的值应该是什么。
[ProgId("EmailEntity")]
[Guid("44BEFE07-FDB7-413B-B14B-45A0F4EB6FA7")]
public class EmailEntity : IEmailEntity
{
/// <summary>
/// BccRecipients
/// </summary>
**public IEmailAddress[] BccRecipients;**
/// <summary>
/// Body
/// </summary>
[MarshalAs(UnmanagedType.BStr)]
public string Body;
}
谢谢,
加根
【问题讨论】:
-
COM 不支持字段,只支持属性和方法。您之前问题的答案已经向您展示了如何正确执行此操作。它还告诉您删除所有 [MarshalAs] 属性。请不要忽视好的建议。
标签: c# c++ arrays com interface