我有一个Outlook插件,我试图避免世界上最大的转换。要获取联系信息,我使用的项目如下:Microsoft.Office.Interop.Outlook.ContactItem.EmailAddress 由于项目很多,我想用变量来选择项目,比如字符串myVariable =" EmailAddress&#34 ;;或字符串myVariable =" FullName&#34 ;;然后使用ContactItem.myVariable。这些项目是从xml文件中提取的。我正在画一个空白,可以使用一些帮助。谢谢。
答案 0 :(得分:0)
我猜你可以使用反射来创建一个检查属性的扩展方法。
尽管请记住你开始发表的一些评论:)
using Outlook = Microsoft.Office.Interop.Outlook;
public static class ContactItemExtension
{
public static object Get(this Outlook.ContactItem item, string property)
{
object result = null;
if (item == null) {
// default null
return result;
}
var ctype = item.GetType();
var cprop = ctype.GetProperty(property);
if (cprop == null || cprop.GetGetMethod() == null) {
// no property found or it doesn't have a get
return result;
}
result = cprop.GetValue(item, null);
return result;
}
}
之后你可以简单地调用,在任何ContactItem顶部使用属性名称的Get方法
item.Get("EmailAddress1");