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 アクティビティで作成できます。