gpt4 book ai didi

c# - Outlook.Folder 和 Outlok.MAPIFolder 之间的区别

转载 作者:太空狗 更新时间:2023-10-29 17:39:24 28 4
gpt4 key购买 nike

我不清楚命名空间 Outlook 中类 FolderMAPIFolder 之间的区别。当我在网上查看代码时,有些人使用第一种语法,而另一些人使用其他语法,我无法确定是否:

  • 这只是因为他们的无知(我更不知道哪一组是正确的)
  • 它是某种遗产(用于不同版本的 Outlook)
  • 这是一回事(我很确定这不是真的,但人们永远不知道)
  • 这是一个继承结构(以及何时使用什么)
  • 这只是一种避免类型问题的方法(转换和 as-ing)
  • 完全是其他原因(如果是的话,是哪个)

这是我用来获取这两个的代码。

Outlook.Folder defaultContactsFolder_1 = 
this.Application.Session.GetDefaultFolder(
Outlook.OlDefaultFolders.olFolderContacts) as Outlook.Folder;

Outlook.MAPIFolder defaultContactFolder_2 =
this.Application.GetNamespace("MAPI").GetDefaultFolder(
Outlook.OlDefaultFolders.olFolderContacts);

最佳答案

Folder已取代 MAPIFolder which is now deprecated .参见 related SO post . FolderMAPIFolder

相比有额外的事件 Hook

Application.Session == Application.GetNamespace("MAPI") - 它们可以互换。参见 related SO post .

MAPIFolderGetNamespace()是从 Outlook 2003 及更低版本继承过来的 - 它们只是为了向后兼容而保留的。无法避免使用 VSTO 进行类型转换 - 你将不断地进行装箱和拆箱。

关于c# - Outlook.Folder 和 Outlok.MAPIFolder 之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12347640/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com