在 VSTO C# 中获取名字和姓氏
Get first and last name in VSTO C#
我必须在执行 Reply/ReplyAll 操作时分别获取第一个收件人的名字和姓氏。
目前,我正在这样做:
#region Extracting Last and First Name
string LName = null;
string FName = null;
if (mailItem.Recipients[1].AddressEntry.GetExchangeUser() == null)
{
FName = FirstName(mailItem.Recipients[1].Name);
LName = LastName(mailItem.Recipients[1].Name);
}
else
{
FName = mailItem.Recipients[1].AddressEntry.GetExchangeUser().FirstName;
LName = mailItem.Recipients[1].AddressEntry.GetExchangeUser().LastName;
}
#endregion
[注意:在上述区域中,FirstName(string name) 和 LastName(string name) 方法将 name 分别拆分为 space 和 return 第一个和最后一个元素]
但是,对于某些收件人,它 return 编辑了整个电子邮件地址。 :(
在浏览 Outlook 后,我发现上面的代码正在获取“显示为”字段(内部联系人 window,参考下图),并对其执行操作,这不是正确的方法提取名字和姓氏。
在“检查全名”中 window 我正确分隔了所有详细信息(参考下图),这是实际要求。
那么,如何从“检查全名”Window 中获取“名字”和“姓氏”的值?或者我们有更好的方法吗?
参考这张图片:
首先,您正在访问 mailItem.Recipients[1].AddressEntry.GetExchangeUser()
三 (!!!) 次。只执行一次 - 该行代码每次都会检索 6 (!!!) 全新的 COM 对象。
其次,如果收件人是联系人而不是 GAL 用户,请使用 AddressEntry.GetContact()
(请只执行一次)- 一旦您拥有 ContactItem
对象,您可以使用它的 FirstName
和 LastName
属性。
我必须在执行 Reply/ReplyAll 操作时分别获取第一个收件人的名字和姓氏。
目前,我正在这样做:
#region Extracting Last and First Name
string LName = null;
string FName = null;
if (mailItem.Recipients[1].AddressEntry.GetExchangeUser() == null)
{
FName = FirstName(mailItem.Recipients[1].Name);
LName = LastName(mailItem.Recipients[1].Name);
}
else
{
FName = mailItem.Recipients[1].AddressEntry.GetExchangeUser().FirstName;
LName = mailItem.Recipients[1].AddressEntry.GetExchangeUser().LastName;
}
#endregion
[注意:在上述区域中,FirstName(string name) 和 LastName(string name) 方法将 name 分别拆分为 space 和 return 第一个和最后一个元素]
但是,对于某些收件人,它 return 编辑了整个电子邮件地址。 :(
在浏览 Outlook 后,我发现上面的代码正在获取“显示为”字段(内部联系人 window,参考下图),并对其执行操作,这不是正确的方法提取名字和姓氏。
在“检查全名”中 window 我正确分隔了所有详细信息(参考下图),这是实际要求。
那么,如何从“检查全名”Window 中获取“名字”和“姓氏”的值?或者我们有更好的方法吗?
参考这张图片:
首先,您正在访问 mailItem.Recipients[1].AddressEntry.GetExchangeUser()
三 (!!!) 次。只执行一次 - 该行代码每次都会检索 6 (!!!) 全新的 COM 对象。
其次,如果收件人是联系人而不是 GAL 用户,请使用 AddressEntry.GetContact()
(请只执行一次)- 一旦您拥有 ContactItem
对象,您可以使用它的 FirstName
和 LastName
属性。