次の方法で共有


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

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

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

静的メンバーは、インスタンス化されたオブジェクトではなく、クラスまたは型自体に属します。 これらのメンバーには、クラスから直接呼び出すことによってアクセスできます。 静的メンバーのパフォーマンスが最も高いため、可能な限り、静的メンバーを使用してレポート内のカスタム関数を呼び出す必要があります。 静的メンバーを呼び出すには、=Namespace.Class.Method という形式の式として参照する必要があります。

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

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

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

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

現在、すべてのレポートは同じアプリケーション ドメインで実行されます。 つまり、ユーザー固有の静的データを含むレポートは、このデータを同じレポートの他のインスタンスに公開します。 この条件により、特定のレポートを現在実行しているすべてのユーザーが、1 人のユーザーの静的データを使用できる場合があります。 このため、カスタム アセンブリまたは Code 要素で静的フィールドまたはプロパティを使用しないことを強くお勧めします。代わりに、レポートでインスタンス フィールドまたはプロパティを使用します。 静的メソッドは、状態やデータを格納しないため、引き続き使用できます。

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

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

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

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

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

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

こちらもご覧ください

レポートでのカスタム アセンブリの使用