式を使用したカスタム アセンブリへのアクセス

カスタム アセンブリを作成し、レポート デザイナーまたはレポート サーバーで利用可能にします。そして、適切なセキュリティ ポリシーを追加し、レポート定義のカスタム アセンブリへの参照を追加すると、レポートの式を使用してアセンブリ内のクラスのメンバーにアクセスできます。式の中でカスタム コードを参照するには、アセンブリ内のクラスのメンバーを呼び出す必要があります。呼び出す方法は、メソッドが静的であるかインスタンス ベースであるかにより異なります。

レポート定義ファイルから静的メンバーを呼び出す

静的メンバーはクラスまたは型そのものに所属し、インスタンス化されたオブジェクトには所属しません。静的メンバーはクラスから直接呼び出すことによりアクセスできます。可能な場合は常に、静的メンバーを使用してレポートのカスタム関数を呼び出す必要があります。その理由は、静的メンバーがパフォーマンス上最も優れているからです。静的メンバーを呼び出すには、=Namespace.Class.Method の形式の式として参照する必要があります。

静的メンバーを呼び出すには

  • 静的メンバーを呼び出すには、式とメンバーの完全修飾名を等しくします。完全修飾名には、名前空間、クラス名、およびメンバー名を含めます。次の例では、ToGBP メソッドを呼び出します。このメソッドは、StandardCost フィールドの値をドルから英ポンドに換算し、レポートに表示します。

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

静的フィールドおよび静的プロパティに関する重要な情報

現在のところ、すべてのレポートは同じアプリケーション ドメインで実行されます。このことは、レポートのユーザー固有の静的データを、同じレポートの他のインスタンスから参照できることを意味します。このような状況では、あるユーザーの静的データを、同時平行して個々のレポートを実行している他のすべてのユーザーが利用できる可能性があります。そのため、カスタム アセンブリまたは Code 要素の中で静的フィールドおよび静的プロパティを使用しないよう、強くお勧めします。レポートの中ではインスタンス フィールドおよびインスタンス プロパティを使用してください。しかし、静的メソッドは、状態やデータを保存しないため、使用可能です。

レポート定義ファイルからインスタンス メンバーを呼び出す

レポート定義内からアクセスする必要があるインスタンス メンバーがカスタム アセンブリ内に含まれている場合は、クラスのインスタンス名をレポートに追加する必要があります。[レポートのプロパティ] ダイアログ ボックスの [コード] タブを使用してクラスのインスタンス名を追加できます。クラスのインスタンスをレポートに追加する方法の詳細については、「レポート デザイナーの式でのカスタム コード参照とアセンブリ参照 (SSRS)」を参照してください。

静的メンバーを呼び出すには、=Code.InstanceName.Method の形式の式として参照する必要があります。

インスタンス メンバーを呼び出すには

  • カスタム アセンブリのインスタンス メンバーを呼び出すには、キーワード Code の後にインスタンス名とメソッドを記述して参照する必要があります。次の例では、インスタンス メソッド ToEUR を呼び出します。このメソッドは、StandardCost フィールドの値をドルからユーロに換算し、レポートに表示します。

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

関連項目

その他の技術情報