演算子のオーバーロード サポート

.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# 仕様」を参照) に従って暗黙および明示の変換演算子を使用できます。

Noteメモ :

.NET Framework 3.0 を使用する場合は、暗黙の型変換がサポートされないため、ユーザー定義の型変換は受け入れられず、別のメソッドが代わりに呼び出されることがあります。

関連項目

その他の技術情報

.NET Framework 3.5 でのルールの変更点

Footer image

Copyright © 2007 by Microsoft Corporation.All rights reserved.