Workflow Manager 1.0 のデータ型のサポートと式アクティビティ

 

Workflow Manager 1.0 では、次の 2 つのカテゴリに分類されるアクティビティが提供されます。式およびデータ型を操作するアクティビティと、ワークフロー アプリケーションのメッセージング、通信、およびロジック作成のためのアクティビティ。式を、信頼済みサーフェスからのアクティビティで構成されるアクティビティ ツリーへ変換する場合は、第 1 のカテゴリに属するアクティビティがバックグラウンドで最も頻繁に使用されます。このトピックでは、これらのアクティビティの概要を示します。

  • String アクティビティ

  • Date Support アクティビティ

    • DateTime アクティビティ

    • TimeSpan アクティビティ

  • Numeric Type アクティビティ

  • Boolean アクティビティ

  • Guid アクティビティ

  • Collection アクティビティ

    • ICollection

    • IDictionary

  • Exception アクティビティ

  • Uri アクティビティ

String アクティビティ

次のアクティビティは、文字列の操作をサポートします。

アクティビティ

説明

引数

CompareString

2 つの文字列を比較します (IComparable とほぼ同等)。正規表現をサポートし、大文字と小文字の指定を無視します。

明示的なカルチャを渡すことができません (インバリアント カルチャを使用してすべての比較が行われます)。

InArgument<string> Left

InArgument<string> Right

InArgument<bool> IgnoreCase

OutArgument<int> Result

ConcatString

文字列のセットを連結します。

すべての入力を、オブジェクトではなく文字列データ型とする必要があります。

Collection<InArgument<string> Inputs

OutArgument<bool> Result

ContainsString

文字列が別の文字列内に取り込まれている場合に true を返します。

常に大文字と小文字が区別されます。

InArgument<string> Input

InArgument<string> SearchValue

OutArgument<bool> Result

EndsWithString

文字列が別の文字列で終わっている場合に true を返します。大文字と小文字を区別しない操作がサポートされます。

明示的なカルチャの引き渡しはサポートされません (すべての比較は、仕様でインバリアント カルチャを使用して実行されます)。

InArgument<string> Left

InArgument<string> Right

InArgument<bool> IgnoreCase

OutArgument<bool> Result

FormatString

引数を渡す文字列の形式を指定します。引数は任意の形式で指定できます (引数として、コレクションの形式は InArgument)。

明示的なカルチャの引き渡しはサポートされません (すべての比較は、仕様でインバリアント カルチャを使用して実行されます)。

カスタム IFormatProviders はサポートされません。

InArgument<string> Format

Collection<InArgument> Arguments

IndexOfString

文字列が別の文字列内で出現した位置のインデックスを返します。

明示的なカルチャの引き渡しはサポートされません (すべての比較は、仕様でインバリアント カルチャを使用して実行されます)。

大文字と小文字を区別する操作をサポートする IgnoreCase フラグはサポートされません。

InArgument<string> Input

InArgument<string> SearchValue

InArgument<int> StartIndex

InArgument<int> Count

OutArgument<int> Index

IsEmptyString

文字列が空または空白の場合に true を返します。

InArgument<string> Input

InArgument<bool> CheckForWhiteSpace

OutArgument<bool> Result

IsEqualString

2 つの文字列が等しい場合に true を返します。また、RegEx を使用した比較もサポートします (大文字と小文字の指定を無視できます)。

明示的なカルチャの引き渡しはサポートされません (すべての比較は、仕様でインバリアント カルチャを使用して実行されます)。

InArgument<string> Input

InArgument<string> Pattern

InArgument<string> Text

InArgument<bool> IgnoreCase

OutArgument<bool> Result

ReplaceString

文字列を別の文字列で置き換えます。RegEx 置換をサポートします。

InArgument<string> Input

InArgument<string> Pattern

InArgument<string> ExistingValue

InArgument<string> Replacement

OutArgument<string> Result

SplitString

既存の文字列に基づいて文字列の配列を返します。

InArgument<string> Input

InArgument<string> Separator

InArgument<StringSplitOptions> StringSplitOptions

OutArgument<string[]> Result

StartsWithString

文字列が別の文字列で始まっている場合に true を返します。大文字と小文字を区別しない操作がサポートされます。

明示的なカルチャの引き渡しはサポートされません (すべての比較は、仕様でインバリアント カルチャを使用して実行されます)。

InArgument<string> Left

InArgument<string> Right

bool IgnoreCase

OutArgument<bool> Result

StringLength

文字列の長さを返します。

InArgument<string> Input

OutArgument<int> Result

Substring

既存の文字列から部分文字列を返します。ユーザーは開始位置と長さを指定できます。

InArgument<string> Input

InArgument<int> StartIndex

InArgument<int> Length

OutArgument<string> Result

ToLowerCase

入力文字列を小文字に変換します。

明示的なカルチャの引き渡しはサポートされません (すべての比較は、仕様でインバリアント カルチャを使用して実行されます)。

InArgument<string> Input

OutArgument<string> Result

ToString

入力値を文字列に変換します。変換中に使用される有効な .NET 形式文字列およびカルチャ名を渡すことができます。

IFormatProviders を渡すことはできません (カルチャ名のみ指定可能)。

InArgument Object

InArgument<string> Format

InArgument<string> CultureName

OutArgument<string> Result

ToUpperCase

入力文字列を大文字に変換します。

明示的なカルチャの引き渡しはサポートされません (すべての比較は、仕様でインバリアント カルチャを使用して実行されます)。

InArgument<string> Input

OutArgument<string> Result

Trim

文字列の内容をトリムします。

トリムする文字セットを渡すことはできません。

InArgument<string> Input

OutArgument<string> Result

Date Support アクティビティ

次のアクティビティは、DateTime 型および TimeSpan 型を操作する場合に使用します。

  • DateTime アクティビティ

  • TimeSpan アクティビティ

DateTime アクティビティ

アクティビティ

説明

引数

AddToDate

既存の日付に追加します。カスタマーは 1 つ以上の日付フラグメント (たとえば、日、分、月など) または timeSpan を追加できます。

InArgument<DateTime> Input

InArgument<int> Days

InArgument<int> Months

InArgument<int> Hours

InArgument<int> Minutes

InArgument<int> Milliseconds

InArgument<TimeSpan> TimeSpan

OutArgument<DateTime> Result

CompareDate

2 つの日付を比較します (IComparable とほぼ同等)。

InArgument<DateTime> Left

InArgument<DateTime> Right

OutArgument<int> Result

ConvertTimeZone

2 つの指定されたタイム ゾーン間で日付を変換します。

InArgument<DateTime> Input

InArgument<DateTime> SourceTimeZone

InArgument<DateTime> DestinationTimeZone

OutArgument<DateTime> Result

CreateDate

日付のコンポーネントを渡す新しい DateTime のインスタンスを作成します。日付はローカルまたは UTC に設定できます。

ティック数から日付を作成することはできません。

InArgument<int> Day

InArgument<int> Month

InArgument<int> Year

InArgument<int> Hour

InArgument<int> Minute

InArgument<int> Second

InArgument<DateTimeKind> Kind

OutArgument<DateTime> Result

CurrentDate

現在の日付をサーバーから UTC 時間で返します。

OutArgument<Result> DateTime

DateInRange

日付が他の 2 つの日付の期間内にある場合に true を返します。

InArgument<DateTime> Input

InArgument<DateTime> Start

InArgument<DateTime> End

OutArgument<bool> Result

DelayUntil

指定された日付になるまで待機します。

InArgument<DateTime> Date

GetDateField

DateTime インスタンスのフィールドを返します。

InArgument<DateTime> Input

DateField DateField

OutArgument<int> Result

GetDateFields

DateTimeInstance のフィールドを返します。

InArgument<DateTime> Input

OutArgument<int> Year

OutArgument<int> Month

OutArgument<int> Day

OutArgument<int> Hour

OutArgument<int> Minute

OutArgument<int> Second

GetElapsedDays

2 つの日付の期間において経過した日数を取得します。ユーザーは週末と休日を除外することができます。

InArgument<DateTime> Start

InArgument<DateTime> End

InArgument<bool> ExcludeWeekends

InArgument<IEnumerable<DateTime>> ExcludedDates

OutArgument<int> Result

GetElapsedTime

2 つの日付の期間において経過した時間を返します。

InArgument<DateTime> Start

InArgument<DateTime> End

OutArgument<TimeSpan> Result

SubtractFromDate

日付からの減算を行います。ユーザーは日付フラグメント (たとえば、時間や日) または TimeSpan を渡すことができます。

InArgument<DateTime> Input

InArgument<int> Days

InArgument<int> Hours

InArgument<int> Minutes

InArgument<int> Seconds

InArgument<TimeSpan> TimeSpan

OutArgument<DateTime> Result

ParseDate

文字列を DateTime に解析します。CultureName (アクティビティ内でカルチャが作成される) と DateTimeStyle を渡すことができます。

InArgument<string> Value

InArgument<DateTimeStyles> DateTimeStyles

InArgument<string> CultureName

TimeSpan アクティビティ

アクティビティ

説明

署名

CreateTimeSpan

TimeSpan のインスタンスを作成します。

InArgument<int> Days

InArgument<int> Minutes

InArgument<int> Hours

InArgument<int> Seconds

OutArgument<TimeSpan> Result

Delay

指定された TimeSpan を待機します。

InArgument<TimeSpan> Duration

GetTimeSpanFields

TimeSpan のさまざまなフィールドを取得します。

InArgument<TimeSpan> Input

OutArgument<int> Days

OutArgument<int> Hours

OutArgument<int> Minutes

OutArgument<int> Seconds

OutArgument<int> TotalDays

OutArgument<int> TotalHours

OutArgument<int> TotalMinutes

OutArgument<int> TotalSeconds

Numeric Type アクティビティ

次のアクティビティは、Int32 および Double データ型の操作をサポートします。

アクティビティ

説明

引数

Add<T>

2 つの数値を足し算します。

InArgument<T> Left

InArgument<T> Right

OutArgument<T> Result

Divide<T>

2 つの数値を除算します。

InArgument<T> Left

InArgument<T> Right

OutArgument<T> Result

IsEqualNumber<T>

2 つの数値が等しい場合に true を返します。

InArgument<T> Left

InArgument<T> Right

OutArgument<bool> Result

IsGreaterThan<T>

数値が別の数値より大きい場合に true を返します。

InArgument<T> Left

InArgument<T> Right

OutArgument<bool> Result

IsGreaterThanOrEqual<T>

数値が別の数値以上である場合に true を返します。

InArgument<T> Left

InArgument<T> Right

OutArgument<bool> Result

IsLessThan<T>

数値が別の数値より小さい場合に true を返します。

InArgument<T> Left

InArgument<T> Right

OutArgument<bool> Result

IsLessThanOrEqual<T>

数値が別の数値以下である場合に true を返します。

InArgument<T> Left

InArgument<T> Right

OutArgument<bool> Result

Mod<T>

Mod 演算

InArgument<T> Left

InArgument<T> Right

OutArgument<bool> Result

Multiply<T>

2 つの数値を乗算します。

InArgument<T> Left

InArgument<T> Right

OutArgument<bool> Result

ParseNumber<T>

数値を解析します。

InArgument<string> Value

InArgument<string> CultureName

InArgument<NumberStyles> NumberStyles

OutArgument<bool> Result

Subtract<T>

2 つの数値を引き算します。

InArgument<T> Left

InArgument<T> Right

OutArgument<bool> Result

Boolean アクティビティ

次のアクティビティは、ブール値の操作をサポートします。

アクティビティ

説明

引数

And

論理式 AND 演算

InArgument<bool> Left

InArgument<bool> Right

InArgument<bool> Result

IsEqualBoolean

2 つのブール値の論理的等値

InArgument<bool> Left

InArgument<bool> Right

InArgument<bool> Result

IsFalse

ブール値が False の場合に true を返します。

InArgument<bool> Input

InArgument<bool> Result

IsTrue

ブール値が True の場合に true を返します。

InArgument<bool> Input

InArgument<bool> Result

Not

否定

InArgument<bool> Input

InArgument<bool> Result

または

論理式 OR

InArgument<bool> Left

InArgument<bool> Right

InArgument<bool> Result

ParseBoolean

ブール値を解析します。

InArgument<string> Input

InArgument<bool> Result

Guid アクティビティ

次のアクティビティは、GUID の操作をサポートします。

アクティビティ

説明

引数

IsEmptyGuid

GUID が空の場合に true を返します。

InArgument<Guid> Value

OutArgument<bool> Result

IsEqualGuid

2 つの GUID が等しい場合に true を返します。

InArgument<Guid> Left

InArgument<Guid> Right

OutArgument<bool> Result

NewGuid

新しい GUID を作成して返します。

OutArgument<Guid> Result

ParseGuid

文字列から GUID を解析します。

InArgument<string> Value

OutArgument<Guid> Result

Collection アクティビティ

次のアクティビティは、コレクションの操作をサポートします。ICollection アクティビティは、インデックスでアクセスできる項目のコレクションを操作するために有用です。IDictionary アクティビティはキー/値ペアのコレクションを操作するために有用です。

  • ICollection

  • IDictionary

ICollection

アクティビティ

説明

引数

AddToCollection<T>

項目を (System.Activities から) コレクションに追加します

InArgument<ICollection<T>> Collection

InArgument<T> Item

RemoveFromCollection<T>

項目をコレクションから削除します (System.Activities から)。

InArgument<ICollection<T>> Collection

InArgument<T> Item

OutArgument<bool> Result

ExistsInCollection<T>

コレクション内に項目が存在する場合に true を返します (System.Activities から)。

InArgument<ICollection<T>> Collection

InArgument<T> Item

OutArgument<bool> Result

ClearCollection<T>

コレクションを (System.Activities から) クリアします

InArgument<ICollection<T>> Collection

BuildCollection<T>

コレクションを作成して初期化します

InArgument<IEnumerable<T>> Collection

ICollection<InArgument<T>> ValuesOutArgument<Collection<T>> Result

CountCollection<T>

コレクションの項目の数をカウントします

InArgument<ICollection<T>> Collection

OutArgument<int> Result

GetItemFromCollection<T>

コレクションから項目を取得します。

InArgument<ICollection<T>> Collection

InArgument<int> Index

OutArgument<T> Result

IDictionary

アクティビティ

説明

引数

AddToDictionary<K,V>

項目を (System.Activities から) コレクションに追加します

InArgument<IDictionary<K,V>> Dictionary

InArgument<K> Key

InArgument<V> Value

RemoveFromDictionary<T>

項目をディクショナリから削除します (System.Activities から)。

InArgument<IDictionary<K,V>> Dictionary

InArgument<K> Key

DictionaryContains<K,V>

ディクショナリ内に項目が存在する場合に true を返します (System.Activities から)。

InArgument<IDictionary<K,V>> Dictionary

InArgument<K> Key

InArgument<V> Value

OutArgument<bool> Result

ClearDictionary<K,V>

コレクションを (System.Activities から) クリアします

InArgument<IDictionary<K,V>> Dictionary

BuildDictionary<K,V>

コレクションを作成して初期化します

InArgument<IDictionary<K,V>> Dictionary

IDictionary<TKey, InArgument<TValue>> Values

OutArgument<IDictionary<K,V>> Result

CountDictionary<K,V>

コレクションの項目の数をカウントします

InArgument<IDictionary<K,V>> Dictionary

OutArgument<int> Result

SplitKeyValuePair<K,V>

KeyValuePair からキーと値を分割します。

InArgument<KeyValuePair<K,V>> Dictionary

OutArgument<K> Key

OutArgument<V> Value

GetDictionaryValue<K,V>

ディクショナリから値を取得します。

InArgument<IDictionary<K,V>> Dictionary

InArgument<K> Key

OutArgument<V> Result

Exception アクティビティ

次のアクティビティは、例外処理をサポートします。

アクティビティ

説明

引数

TryCatch

ワークフロー内での例外処理

このアクティビティは WF4 のものです。

Throw

例外をスローします。

このアクティビティは WF4 のものです。

InArgument<Exception> Exception

Rethrow

例外を再スローします (c# での引数なしの "throw" に類似)。

このアクティビティは WF4 のものです。

CreateException<T>

例外のインスタンスを作成します。

InArgument<string> Message

InArgument<Exception> InnerException

Uri アクティビティ

URI データ型は信頼できるリストによってサポートされます。URI をパラメーターに取る他のアクティビティは URI データ型を使用できます。URI データ型は、New<Uri> アクティビティで、または CreateUriFromDynamicValue アクティビティで作成できます。