Exportieren (0) Drucken
Alle erweitern

Erstellen der Implementierungsklasse mit COM-Attributen

Visual Studio 2005

In diesem Abschnitt erstellen Sie eine Implementierungsklasse, die die IExchangeUfl-Schnittstelle implementiert, und konfigurieren diese Klasse dann mit COM-Attributen.

So erstellen Sie die Implementierungsklasse

  1. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf den fett formatierten Projektnamen, zeigen Sie auf Hinzufügen, und klicken Sie dann auf Klasse.
  2. Geben Sie im Feld Name „ExchangeUfl“ ein, und klicken Sie auf Hinzufügen.
  3. Ändern Sie die Klassensignatur so, dass die IExchangeUfl-Schnittstelle implementiert wird.
    [Visual Basic]
    Public Class ExchangeUfl : Implements IExchangeUfl
    End Class
    [C#]
    public class ExchangeUfl : IExchangeUfl
    {
    }
  4. Fügen Sie oberhalb der Klassendeklaration folgende Using-/Imports-Anweisung hinzu:
    [Visual Basic]
    Imports System.Runtime.InteropServices
    [C#]
    using System.Runtime.InteropServices;
  5. Wählen Sie im Menü Extras die Option GUID erstellen.
  6. Wählen Sie im Dialogfeld GUID erstellen im Bereich GUID-Format die Option für Registrierungsformat aus.
  7. Klicken Sie auf Neue GUID.
  8. Klicken Sie auf Kopieren, und schließen Sie dann das Dialogfeld.
  9. Erstellen Sie oberhalb der Klassendeklaration ein Attribut mit drei Werten: „ComVisible“, „ClassInterface“ und „Guid“ (in C#) bzw. „GuidAttribute“ (in Visual Basic), wobei die Parameterzeichenfolge in Anführungszeichen steht.
    Hinweis   Fügen Sie in Visual Basic zur besseren Lesbarkeit nach dem schließenden Tag einen Unterstrich ein, um die Klasse in der nächsten Zeile zu platzieren.
    [Visual Basic]
    <ComVisible(), ClassInterface(), GuidAttribute("")> _
    Public Class ExchangeUfl : Implements IExchangeUfl
    End Class
    [C#]
    [ComVisible(), ClassInterface(), Guid("")]
    public class ExchangeUfl : IExchangeUfl
    {
    }
  10. Geben Sie in das ComVisible-Attribut den Parameterwert „True“ [Visual Basic] bzw. „true“ [C#] ein.
  11. Geben Sie im ClassInterface-Attribut den Parameterwert „ClassInterfaceType.None“ aus der ClassInterfaceType-Enumeration ein.
  12. Fügen Sie den GUID-Wert aus der Zwischenablage in den Parameterwert des GUID-Attributs ein. Achten Sie darauf, die geschweiften Klammern und alle Zeilenschaltungen zu entfernen.
    Hinweis   Verwenden Sie nicht die GUID dieses Codeausschnitts. Erstellen Sie für die Klasse eine eindeutige GUID.
    [Visual Basic]
    <ComVisible(True), ClassInterface(ClassInterfaceType.None), GuidAttribute("F5DCE88F-AD38-4a9a-9A69-0F8DC0EDB4E3")> _
    Public Class ExchangeUfl : Implements IExchangeUfl
    End Class
    [C#]
    [ComVisible(true), ClassInterface(ClassInterfaceType.None), Guid("F5DCE88F-AD38-4a9a-9A69-0F8DC0EDB4E3")]
    public class ExchangeUfl : IExchangeUfl
    {
    }
  13. Füllen Sie innerhalb von ExchangeUfl die reduzierte Methodensignatur der Schnittstelle mit einer öffentlichen Methode.
    Hinweis   Dies wird der Name der Funktion, die im eingebetteten Crystal Reports Designer offen gelegt wird.
    [Visual Basic]
    Public Function ConvertUSDollarsToCDN1(ByVal usd As Double) As Double Implements IExchangeUfl.ConvertUSDollarsToCDN
    End Function
    [C#]
    public double ConvertUSDollarsToCDN(double usd)
    {
    }
  14. Erstellen Sie innerhalb der Methode einen Bedingungsblock, der überprüft, ob der usd-Methodenparameter größer als Double.MaxValue ist.
    Hinweis   Sie müssen diese Überprüfung ausführen, um das Risiko eines Überlaufs zu vermeiden.
    [Visual Basic]
    If usd > Double.MaxValue Then
    End If
    [C#]
    if(usd > Double.MaxValue)
    {
    }
  15. Lösen Sie innerhalb des if-Blocks eine Ausnahme aus, die angibt, dass der gesendete Wert größer als der maximal zulässige Wert für einen double-Wert ist.
    [Visual Basic]
    Throw New Exception("")
    [C#]
    throw new Exception("");
  16. Geben Sie nach dem Bedingungsblock den usd-Methodenparameter multipliziert mit dem Umrechnungskurs 1.45 zurück.
    [Visual Basic]
    Return (usd * 1.45)
    [C#]
    return (usd * 1.45);
    Hinweis   In diesem Lernprogramm wird nur eine einfache Berechnung durchgeführt. Dennoch könnte jeder beliebige Code innerhalb dieser Methode platziert werden. So können Sie beispielsweise den Umrechnungskurs des Webdienstes einer Bank abrufen, um den Umrechnungskurs dynamisch im Bericht zu berechnen.
  17. Klicken Sie im Menü Datei auf Alle speichern.
  18. Schließen Sie das Klassenfenster.

Im nächsten Abschnitt weisen Sie der Bibliothek einen starken Namen zu und kompilieren dann das Projekt.

Weiter zu Zuweisen eines Schlüssels mit starkem Namen zur Klassenbibliothek.

Siehe auch

Erstellen einer Anwenderfunktionsbibliothek | Lernprogramme und Beispielcode | Verzeichnis mit Beispielcode für Lernprogramme

Anzeigen:
© 2015 Microsoft