AlterEventDuration(TPayload) メソッド
入力イベントの実行時間を変更します。このメソッドでは、イベントの開始時刻は変更されません。
名前空間: Microsoft.ComplexEventProcessing.Linq
アセンブリ: Microsoft.ComplexEventProcessing (Microsoft.ComplexEventProcessing.dll)
構文
public static CepStream<TPayload> AlterEventDuration<TPayload>(
this CepStream<TPayload> source,
Expression<Func<CepEvent<TPayload>, TimeSpan>> eventDurationFunc
)
型パラメーター
- TPayload
入力イベント ペイロードの型。
パラメーター
- source
型: Microsoft.ComplexEventProcessing.Linq. . :: . .CepStream< (Of < ( <'TPayload> ) > ) >
入力ストリーム。
- eventDurationFunc
型: System.Linq.Expressions. . :: . .Expression< (Of < ( <'Func< (Of < ( <'CepEvent< (Of < ( <'TPayload> ) > ) >, TimeSpan> ) > ) >> ) > ) >
イベントの新しい実行時間を定義する式。
戻り値
型: Microsoft.ComplexEventProcessing.Linq. . :: . .CepStream< (Of < ( <'TPayload> ) > ) >
イベントの新しい実行時間が指定されたストリーム。
使用に関するメモ
Visual Basic および C# では、このメソッドを型 CepStream< (Of < ( <'TPayload> ) > ) > の任意のオブジェクトのインスタンス メソッドとして呼び出すことができます。このメソッドを呼び出すためにインスタンス メソッドの構文を使う場合は、最初のパラメーターを省略してください。詳細については、「https://msdn.microsoft.com/ja-jp/library/bb384936(v=sql.105)」または「https://msdn.microsoft.com/ja-jp/library/bb383977(v=sql.105)」を参照してください。
説明
詳細については、「タイム スタンプの変更」を参照してください。
使用例
次の例では、イベントの期間を 1 時間に設定しています。
// set event duration to 1 hour.
var onehour = inputStream.AlterEventDuration(e => TimeSpan.FromHours(1));
次の例では、イベントの期間を現在の有効期間の 2 倍に設定しています。
// double event duration.
var doubled = inputStream.AlterEventDuration(e => (e.EndTime - e.StartTime) * 2);