【问题标题】:Is it possible to expose a DateTime field through COM?是否可以通过 COM 公开 DateTime 字段?
【发布时间】:2009-06-05 16:55:47
【问题描述】:

如果类的属性之一的类型为 DateTime ,我似乎无法通过 COM 将类公开给非托管客户端。

例子:

[ComVisible(true)]
public interface ITest
{
   string Name { get; }
   DateTime Date { get; }
}

[Serializable]
[ComVisible(true)]
public class Test : ITest
{
    public string Name { get; private set; }
    public DateTime Date { get; private set; }
}

只有当我在接口和实现上注释掉Date 属性时,.tlh 文件才会包含测试结构(显然没有Date)。

有什么想法吗?有没有办法表示通过 COM 可见的日期?我真的需要将Date 作为string 传递然后解析吗?

感谢您的宝贵时间!

【问题讨论】:

    标签: c# com serialization


    【解决方案1】:

    在 COM 中,日期是 VT_DATE 类型的 Variant。我认为你可以利用这个: http://blogs.msdn.com/dimeby8/archive/2006/12/12/marshalling-variant-properties-in-c.aspx

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-09-26
      • 1970-01-01
      • 1970-01-01
      • 2010-10-14
      • 2015-06-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多