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

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

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

静的メンバーはクラスや型自体に属し、インスタンス化されたオブジェクトには属しません。 これらのメンバーはクラスから直接呼び出すことでアクセスできます。 可能な限り、レポートでカスタム関数を呼び出す際には静的メンバーを使うべきです。なぜなら、静的メンバーが最も効果的に機能するからです。 静的メンバーを呼び出すには、それを =Namespace.Class.Method の形をとる式として参照する必要があります。

静的メンバーの呼び出し

  • 静的メンバーを呼び出すには、名前空間、クラス名、メンバー名を含むメンバーの完全修飾名に式を等しく設定します。 以下の例は ToGBP メソッドを呼び起こしており、これは StandardCost フィールドの価値をドルからポンド・スターリングに変換し、レポートに表示します。

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

静電場と性質に関する重要な情報

現在、すべてのレポートは同じアプリケーションドメイン内で実行されています。 つまり、ユーザー固有の静的データを含むレポートは、同じレポートの他のインスタンスにデータを公開します。 この条件により、あるユーザーの静的データが現在特定のレポートを実行しているすべてのユーザーに利用可能になる可能性があります。 このため、カスタムアセンブリや コード 要素で静的フィールドやプロパティを使用することは強く推奨されません。代わりに、レポートでインスタンスフィールドやプロパティを使いましょう。 静的メソッドは状態やデータを保存しないため、依然として使えます。

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

カスタムアセンブリにレポート定義でアクセスが必要なインスタンスメンバーが含まれている場合は、レポートにクラス名を追加する必要があります。 クラスのインスタンス名は、Report Propertiesダイアログの「Code」タブを使って追加できます。 レポートにクラスのインスタンスを追加する詳細は、レポート デザイナー(SSRS)のExpressionsにおけるカスタムコードおよびアセンブリ参照を参照してください。

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

コールインスタンスメンバー

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

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