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