【问题标题】:C# Outlook add-in get selected emailsC# Outlook 加载项获取选定的电子邮件
【发布时间】:2013-01-26 15:05:58
【问题描述】:

我想在我的 Outlook 2010 加载项中获取所有选定的电子邮件。我找到了这个MSDN tutorial,但是我是C#的初学者,不太明白这行代码:Object selObject = this.Application.ActiveExplorer().Selection[3];

我相信Selection[] 类似于 C# 中的重写运算符、索引器。但是,有什么办法可以看到它的实现吗?如果我浏览代码,我只会看到接口而不是实现。所以我不知道 Selection 对象的结构。 operator [] 背后的真正含义。

另外,为什么选定的项目从索引 1 而不是 0 开始?

【问题讨论】:

    标签: c# outlook-addin


    【解决方案1】:

    该行检索第三条选定的消息。
    Selection[] 等价于 Selection.Item() - 项目函数被标记为索引属性访问器。
    您看不到实现 - 它全部在 Outlook 对象模型中。
    所有 Outlook 集合都以 1 开头,而不是 0。这就是它过去在 VB 中的方式,因此 Outlook 对象模型使用相同的约定。

    【讨论】:

      【解决方案2】:

      我知道这有点晚了,但这个问题在搜索引擎中排名很高。这是我用来在 Outlook 互操作中获取选定电子邮件的解决方案:

      internal static IEnumerable<MailItem> GetSelectedEmails()
      {
           foreach (MailItem email in new Microsoft.Office.Interop.Outlook.Application().ActiveExplorer().Selection)
           {
                yield return email;
           }
      }
      

      【讨论】:

      • 永远不会太晚,我现在正在与 VSTO 合作,这对我有帮助。 +1
      • 被低估的答案,完美运行。我找了很久才找到。
      猜你喜欢
      • 2021-06-19
      • 2012-12-23
      • 1970-01-01
      • 1970-01-01
      • 2012-01-22
      • 1970-01-01
      • 1970-01-01
      • 2017-08-04
      • 2017-07-28
      相关资源
      最近更新 更多