Freigeben über


Zugreifen auf benutzerdefinierte Assemblys über Ausdrücke

Nachdem Sie eine benutzerdefinierte Assembly erstellt und dem Berichts-Designer oder dem Berichtsserver zur Verfügung gestellt, die entsprechende Sicherheitsrichtlinie hinzugefügt und einen Verweis auf Die benutzerdefinierte Assembly in der Berichtsdefinition hinzugefügt haben, können Sie mithilfe von Berichtsausdrücken auf die Member der Klassen in der Assembly zugreifen. Wenn Sie in einem Ausdruck auf benutzerdefinierten Code verweisen möchten, müssen Sie das Klassenelement in der Assembly aufrufen. Die Vorgehensweise hängt davon ab, ob es sich um eine statische oder um eine instanzbasierte Methode handelt.

Aufrufen statischer Elemente aus einer Berichtsdefinitionsdatei

Statische Member gehören zu der Klasse oder dem Typ selbst und nicht zu einem instanziierten Objekt. Auf diese Mitglieder kann direkt über den Kurs zugegriffen werden. Sie sollten statische Member verwenden, um benutzerdefinierte Funktionen in einem Bericht nach Möglichkeit aufzurufen, da statische Member am besten funktionieren. Um ein statisches Element aufzurufen, müssen Sie darauf als Ausdruck verweisen, der das Format =Namespace.Class.Method verwendet.

So rufen Sie statische Member auf

  • Um ein statisches Element aufzurufen, legen Sie den Ausdruck auf den vollqualifizierten Namen des Elements fest, der den Namespace, den Klassennamen und den Membernamen enthält. Im folgenden Beispiel wird die ToGBP-Methode aufgerufen, die den Wert des StandardCost-Felds von Dollar in Pfund Sterling konvertiert und in einem Bericht anzeigt:

    =CurrencyConversion.DollarCurrencyConversion.ToGBP(Fields!StandardCost.Value)  
    

Wichtige Informationen zu statischen Feldern und Eigenschaften

Derzeit werden alle Berichte in derselben Anwendungsdomäne ausgeführt. Dies bedeutet, dass Berichte mit benutzerspezifischen, statischen Daten diese Daten anderen Instanzen desselben Berichts zur Verfügung stellen. Diese Bedingung kann es ermöglichen, dass die statischen Daten eines Benutzers für alle Benutzer verfügbar sind, die derzeit einen bestimmten Bericht ausführen. Aus diesem Grund wird dringend empfohlen, keine statischen Felder oder Eigenschaften in benutzerdefinierten Assemblys oder im Code-Element zu verwenden; Verwenden Sie stattdessen Instanzfelder oder Eigenschaften in Ihren Berichten. Statische Methoden können weiterhin verwendet werden, da sie keinen Zustand oder keine Daten speichern.

Aufrufen von Instanzmembern aus einer Berichtsdefinitionsdatei

Wenn Ihre benutzerdefinierte Assembly Instanzmember enthält, auf die Sie in einer Berichtsdefinition zugreifen müssen, müssen Sie dem Bericht einen Instanznamen für Ihre Klasse hinzufügen. Sie können mithilfe der Registerkarte "Code " des Dialogfelds " Berichtseigenschaften " einen Instanznamen für eine Klasse hinzufügen. Weitere Informationen zum Hinzufügen von Instanzen von Klassen zu einem Bericht finden Sie unter Custom Code and Assembly References in Expressions in Report Designer (SSRS).

Um ein statisches Element aufzurufen, müssen Sie darauf als Ausdruck verweisen, der das Formular = Code* verwendet. InstanceName.Method*.

So rufen Sie Instanzmitglieder auf

  • Um ein Instanzmemm einer benutzerdefinierten Assembly aufzurufen, müssen Sie auf das Code-Schlüsselwort verweisen, gefolgt vom Instanznamen und der Methode. Im folgenden Beispiel wird eine Instanzmethode ToEUR aufgerufen, die den Wert des StandardCost-Felds von Dollar in Euro konvertiert und in einem Bericht anzeigt:

    =Code.m_myDollarCoversion.ToEUR(Fields!StandardCost.Value)  
    

Siehe auch

Verwenden benutzerdefinierter Assemblys mit Berichten