C# Outlook.Folder和Outlok.MAPIFolder之间的差异
我不清楚命名空间C# Outlook.Folder和Outlok.MAPIFolder之间的差异,c#,outlook,outlook-addin,C#,Outlook,Outlook Addin,我不清楚命名空间Outlook中的类Folder和MAPIFolder之间的区别。当我在网上查看代码时,有些人使用第一种语法,而有些人使用其他语法,我无法确定: 这只是因为他们的无知(我更不知道哪一组是正确的) 这是一种传统(适用于不同版本的Outlook) 这是完全相同的事情(我相当肯定这不是真的,但人们永远不知道) 这是一个继承结构(以及何时使用) 这只是一种避免类型问题的方法(强制转换和as-ing) 完全是其他原因(如果是,是什么原因) 这是我用来获取这两个的代码 Outlook.F
Outlook
中的类Folder
和MAPIFolder
之间的区别。当我在网上查看代码时,有些人使用第一种语法,而有些人使用其他语法,我无法确定:
- 这只是因为他们的无知(我更不知道哪一组是正确的)
- 这是一种传统(适用于不同版本的Outlook)
- 这是完全相同的事情(我相当肯定这不是真的,但人们永远不知道)
- 这是一个继承结构(以及何时使用)
- 这只是一种避免类型问题的方法(强制转换和
-ing)as
- 完全是其他原因(如果是,是什么原因)
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);
已取代。看见与MAPIFolder
Application.Session==Application.GetNamespace(“MAPI”)
-它们可以互换。看
MAPIFolder
是Outlook 2003及以下版本的遗留版本-它们只是为了向后兼容而保留的。使用VSTO无法避免类型转换-您将不断地装箱和拆箱