我不清楚命名空间Folder
中的类MAPIFolder
和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);
答案 0 :(得分:16)
Folder
已取代MAPIFolder
which is now deprecated。见related SO post。与MAPIFolder
Folder
有其他事件挂钩
Application.Session == Application.GetNamespace("MAPI")
- 它们是可以互换的。请参阅related SO post。
MAPIFolder
和GetNamespace()
来自Outlook 2003及以下版本 - 它们只是为了向后兼容而保留。没有办法避免使用VSTO进行类型转换 - 你将不断进行装箱和拆箱。