Objetos no Outlook PIA
Enquanto estiver navegando no Outlook Primary Interop Assembly (PIA) em um pesquisador de objetos, você notará que muitas classes e interfaces têm nomes familiares, em referência à objetos no modelo de objeto do Outlook. Alguns objetos no modelo de objeto precisam ter um mapeamento individual nas interfaces no PIA.
Por exemplo, o AddressEntry está mapeado para a interface AddressEntry e o objeto AddressList é mapeado para a interface AddressListno PIA.
No entanto, a maioria dos outros objetos têm um mapeamento de um para muitos no PIA. Este mapeamento de um para muitos é aplicado a todos os objetos adicionados a partir do Outlook 2007 e alguns objetos existentes antes do Microsoft Office Outlook 2007. Este tópico lista as interfaces, classes e delegados .NET que são mapeados para um objeto COM e descreve como acessar um objeto no PIA Outlook. Ele também descreve algumas exceções no Outlook PIA onde os objetos estão ocultos ou preteridos no modelo de objeto com base em COM.
Objetos de ajuda
Esta seção ilustra as típicas classes auxiliares de um objeto no Outlook PIA usando o objeto FormRegioncomo um exemplo. O objeto FormRegion foi adicionado ao modelo de objeto do Outlook 2007. Relacionados para o objetoFormRegion no PIA são representantes ilustrados na Figura 1, interfaces e classes.
Figura 1. O objeto FormRegion representado no modelo de objeto do Outlook e no PIA Outlook
Uma interface que você pode acessar com mais frequência é o FormRegion e os membros de método, propriedade e evento do objeto é a interfaceFormRegion. No entanto, você não deve considerar a interface .NET do FormRegion como uma imagem espelho exata do objeto COM formRegion; se você olhar para o Navegador de Objetos no Visual Studio, descobrirá que a interface FormRegion herda de outra interface, a interface _FormRegion. Na verdade, a interfaceFormRegion é apenas uma das seguintes interfaces e classes que resultam da criação do PIA Outlook baseiam-se a biblioteca COM.
Para criar o Outlook PIA, o Outlook usa o Importador de Bibliotecas de Tipos (TLBIMP) no .NET Framework para converter definições de tipos da biblioteca de tipos COM em definições equivalentes em um assembly de tempo de execução em linguagem comum. Na COM, o objeto FormRegion é realmente um coclass que consiste em duas interfaces a seguir, definindo as interfaces que o objetoFormRegion implementa:
A interface primária _FormRegion
A interface do evento FormRegionEvents
O TLBIMP importa diretamente _FormRegion e FormRegionEvents da biblioteca de tipos.
Além de importar a interface principal e a interface do evento, o TLBIMP cria uma interface .NET com o mesmo nome de objeto COM e uma classe .NET que usa o nome do objeto e acrescentado de "Classe". No caso do objetoFormRegion, o TLBIMP cria o seguinte:
A interface do .NET FormRegion
A classe .NET FormRegionClass
A partir das interfaces .NET e classe .NET mencionadas neste tópico, você sempre pode usar a interface .NET que o TLBIMP cria para acessar um objeto. Por exemplo, para acessar um objeto FormRegion em VB, você sempre pode usar a interface FormRegion, como no exemplo a seguir:
Imports Outlook = Microsoft.Office.Interop.Outlook
Sub DemoFormRegion(ByVal Region As Outlook.FormRegion)
Dim MyFormRegion As Outlook.FormRegion = Region
' Additional method code here
End Sub
using Outlook = Microsoft.Office.Interop.Outlook;
void DemoFormRegion(Outlook.FormRegion region)
{
Outlook.FormRegion myFormRegion = region;
// Additional method code here
}
Para informações sobre a finalidade da interface principal e da classe .NET que o TLBIMP importa e cria respectivamente, confira métodos e propriedades no PIA Outlook. Para informações sobre a finalidade de interfaces relacionadas a eventos, representantes e classes de sink helper, confiraeventos no PIA Outlook.
Objetos preteridos
Objetos substituídos na biblioteca de tipos de objetos são expostos no PIA Outlook. Por exemplo, os objetos _DDocSiteControl e _DRecipientControl estão ocultos na biblioteca de tipos, mas são expostos na PIA.
Outro exemplo de um objeto obsoletos é o objeto MAPIFolder. Iniciando no Outlook 2007,a pasta objeto substituiu o objeto MAPIFolder no modelo de objeto. Soluções existentes devem substituir as referências a MAPIFolder pela pasta, e todas as soluções de novas a partir do Outlook 2007 devem usar somente o objetopasta. Para obter soluções não gerenciadas, pesquisador de objetos do Editor do Visual Basic não lista os objetosMAPIFolder nem como um objeto oculto.
Para obter soluções gerenciadas, mesmo que o Outlook PIA exponha uma interface de pasta na qual você possa acessar o objeto pasta e seus membros, o Outlook PIA também expõe o MAPIFolder como uma interface que define os membros do objeto pasta.