演算子のオーバーロード サポート
.NET Framework 3.5 では、Windows Workflow Foundation ルール エンジンがルールの演算子のオーバーロードをサポートしています。このサポートの実装は、.NET Framework の演算子のオーバーロードに似ています。つまり、算術演算子 (加算、減算、乗算、除算、剰余)、関係演算子 (等しい、未満、より大きい、以下、以上)、またはビットごとの演算子 (and、or) をオーバーロードできます。これらの演算子を使用すると、既定の実装ではなく、型の実装が呼び出されます。演算子のオーバーロードの詳細については、「演算子オーバーロードの使用ガイドライン」を参照してください。
WF ルール エンジンは単項演算子をサポートしない CodeDom 上に構築されているため、WF ルール フレームワークも単項演算子をサポートしません。"!=" (等しくない) 演算子も同様です。
単項演算子の表現は、二項式に変換されます (x は 0-x として表現されます)。したがって、二項演算子 (-) をルール定義で使用する場合は、式 –x が、オーバーロードされた二項演算子 (-) メソッドを呼び出します。
オブジェクトが IComparable インターフェイスを実装する場合、WF ルール エンジンは CompareTo メソッドを自動的には使用しません。この機能を使用する場合は、CompareTo を直接呼び出す必要があります。
さらに、ユーザーは、暗黙および明示の変換演算子をクラス定義で定義できます。WF ルール フレームワークでは、C# ルール (「C# 仕様」を参照) に従って暗黙および明示の変換演算子を使用できます。
メモ : |
---|
.NET Framework 3.0 を使用する場合は、暗黙の型変換がサポートされないため、ユーザー定義の型変換は受け入れられず、別のメソッドが代わりに呼び出されることがあります。 |
関連項目
その他の技術情報
Copyright © 2007 by Microsoft Corporation.All rights reserved.