c# - 是否可以通过 COM 公开 DateTime 字段?

标签 c# com serialization

如果类的属性之一的类型为 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; }
}

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

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

感谢您的宝贵时间!

最佳答案

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

关于c# - 是否可以通过 COM 公开 DateTime 字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/954811/

相关文章:

c# - Linq to XML 比较字符串

c# - 如何识别表格外的点击和另外一个问题

c# - Json.NET 根据属性类型使属性成为必需的

python - 遍历对象层次结构pickle样式

c# - 如何处理在 RichTextBox 中单击超链接的事件

c# - .NET Form close/dispose 不释放全局对象

javascript - 当activex与flash播放器位于同一页面时,无法调用activex方法

java - "com.jacob.com.ComFailException: Can' 找不到绰号“为什么?

c# - 在 office 2010 中将受密码保护的 OpenXml Word 文档重新保存为受密码保护的二进制 Word 时显示错误

android - 使用客户端服务器架构在 android 中进行序列化