Methoden und Eigenschaften in der Outlook PIA

In diesem Thema wird beschrieben, wie mithilfe der Outlook Primary Interop Assembly (PIA) auf Methoden und Eigenschaften eines Objekts in verwaltetem Code zugegriffen wird.

Ursprung von Hilfsobjekten

Zum Erstellen der Outlook PIA verwendet Outlook den Typbibliothekimporter (Type Library Importer, TLBIMP) von .NET Framework, um Typdefinitionen in der COM-Typbibliothek in entsprechende Definitionen in einer Common Language Runtime-Assembly (CLR) zu konvertieren. In COM stellt ein Objekt eine Co-Klasse dar, die Folgendes umfasst:

  • Die primäre Schnittstelle (z. B. die _FormRegion -Schnittstelle).

  • Die Ereignisschnittstelle (z. B. die FormRegionEvents -Schnittstelle).

TLBIMP importiert die primäre Schnittstelle und die Ereignisschnittstelle für jedes Objekt und erstellt eine Reihe von Schnittstellen, Delegaten und Klassen, zu denen die folgenden gehören:

Zweck der Hilfsobjekte

Bei weiterer Verwendung des FormRegion-Objekts als Beispiel prüft die folgende Liste, was die einzelnen Schnittstellen und zuvor aufgeführten Klassen enthalten.

  • Die _FormRegion-Schnittstelle definiert alle Methoden und Eigenschaften von FormRegion. In der Regel wird diese Schnittstelle nicht im Code verwendet, mit Ausnahme einer nachfolgend besprochenen Bedingung.

  • Die FormRegionEvents-Schnittstelle definiert Methoden, die Ereignissen von FormRegion zugeordnet sind. Verwenden Sie diese Schnittstelle nicht im Code.

  • TLBIMP verarbeitet die FormRegionEvents-Schnittstelle weiter, um die FormRegionEvents_Event-Schnittstelle zu erstellen, die alle Ereignisse von FormRegion definiert. In der Regel wird diese Schnittstelle nicht im Code verwendet, mit Ausnahme einer nachfolgend besprochenen Bedingung.

  • Die FormRegionClass-Klasse definiert alle Methoden-, Eigenschaften- und Ereignismember von FormRegion. Dieser Klasse wird die FormRegion-Schnittstelle im Hintergrund zugeordnet, sodass Sie Code schreiben können, um eine Instanz der FormRegion-Schnittstelle zu erstellen. Sie verwenden die Schnittstelle jedoch nicht direkt in Code.

  • Die FormRegion-Schnittstelle erbt die _FormRegion-Schnittstelle und die FormRegionEvents_Event-Schnittstelle. Abbildung 1 veranschaulicht diese Vererbungsbeziehung.

    Abbildung 1: Die "FormRegion"-Schnittstelle erbt Methoden und Eigenschaften von der "_FormRegion"-Schnittstelle und Ereignisse von der "FormRegionEvents_Event"-Schnittstelle

    Die FormRegion-Schnittstelle erbt Methoden und Eigenschaften von der _FormRegion-Schnittstelle und Ereignisse von der FormRegionEvents_Event-Schnittstelle

    In der Regel ist FormRegion die einzige Schnittstelle, die Sie in verwaltetem Code verwenden, um auf das Objekt und die Methoden-, Eigenschaften- und Ereignismember des FormRegion-Objekts zuzugreifen.

Unter Verwendung des Application-Objekts als weiteres Beispiel greifen Sie auf das Application-Objekt, Methoden, Eigenschaften und Ereignisse über die Application -Schnittstelle zu. Es gibt jedoch drei Ausnahmen, bei denen Sie eine andere Schnittstelle verwenden müssen oder abhängig von der Sprache verwenden möchten:

  • Wenn Sie auf eine Methode zugreifen, die denselben Namen wie ein Ereignis aufweist, ist es ratsam, zur primären Schnittstelle zu wechseln, um die Methode aufzurufen. Das Application-Objekt verfügt beispielsweise über eine Quit-Methode und ein Quit-Ereignis. In Visual Basic .NET können Sie über die Anwendungsschnittstelle auf die Quit-Methode zugreifen. In C# können Sie eine Compilerwarnung vermeiden, indem Sie die Quit-Methode in die primäre Schnittstelle umwandeln, wie im folgenden Codebeispiel gezeigt:

        void DemoApp()
        {
            Outlook.Application myApp = new Outlook.Application();
            // Other application code here
            ((Outlook._Application)myApp).Quit();
        }
    
  • Wenn Sie auf ein Ereignis zugreifen, das denselben Namen wie eine Methode dieses Objekts aufweist, müssen Sie zur entsprechenden Ereignisschnittstelle wechseln, um das Ereignis aufzurufen. Ähnlich zum vorherigen Beispiel müssen Sie zum Aufrufen des Quit-Ereignisses zur ApplicationEvents_11_Event -Schnittstelle wechseln.

  • Wenn Sie eine frühere Version eines Ereignisses aufrufen, das anschließend in einer späteren Version von Outlook erweitert wurde, müssen Sie die Version des Ereignisses in der früheren Schnittstelle aufrufen. Wenn Sie beispielsweise eine Verbindung mit der Version des Quit-Ereignisses für das application-Objekt herstellen möchten, das für Outlook 2002 implementiert wurde, anstatt mit der neuesten Version, stellen Sie eine Verbindung mit dem in der ApplicationEvents_10_Event-Schnittstelle definierten Quit-Ereignis her, statt mit dem in der ApplicationEvents_11_Event-Schnittstelle definierten Quit-Ereignis.

Siehe auch