繁体   English   中英

如何检查C#中COM对象的属性X是否具有值Y?

[英]How do I check if Property X of a COM object has value Y in C#?

我目前正在尝试仅从Outlook检索的Items集合中获取联系人。 问题是我对ContactItem的转换有时会中断,因为列表中有非接触项(例如通讯组列表)。 因为这些是COM对象,所以我需要检查属性MessageClass等于IPM.Contact 我不熟悉COM对象,所以我不知道该怎么做。 我尝试使用以下方法:

if(comObject.GetType().GetProperty(MessageClass).GetValue(comObject).Equals("IPM.Contact"))
{
    contactitems.add((ContactItem)comObject)
}

但是,这失败了,因为它无法在comobject上找到该属性。

我检查了MSDN,他们建议在http://msdn.microsoft.com/zh-cn/library/ms268994.aspx上使用object is ContactItem来检查它是否为ContactItem。 我已经尝试过了,而且有效。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM