ローコード ワークフロー内でコード化されたソース ファイルを呼び出すには、このワークフローを使用します。この例では、コード化されたソース ファイル TimeSpanHelper.cs
内に TimeSpanHelper
というクラスを作成します。このクラスは、指定した範囲に基づいてランダムな期間を生成します。ローコード ワークフロー内でこのクラスを使用するには、[ワークフロー ファイルを呼び出し] アクティビティを使用します。ユース ケースによっては、その後に続けて他のローコード アクティビティを使用します。
コード化されたソース ファイルを作成します。この例では、TimeSpanHelper.cs
という名前を付けます。
コード化されたソース ファイルで、TimeSpanHelper という名前のパブリック クラスを作成します。
TimeSpanHelper クラス内で、ランダムな値を生成するために _random
という名前のプライベートな静的ランダム オブジェクトを宣言します。
assignment private static Random _random = new Random ( ) ;
private static Random _random = new Random();
_lockObj
という名前のプライベートな静的オブジェクトを宣言してスレッドを保護しながら、複数のスレッドが同時に処理されるようにします。
assignment private static object _lockObj = new object ( ) ;
private static object _lockObj = new object();
lowerBoundMs
と upperBoundMs
という 2 つの整数パラメーターを受け取る GetRandomTimeSpanBetween
というパブリックな静的メソッドを実装します。
assignment public static TimeSpan GetRandomTimeSpanBetween ( int lowerBoundMs, int upperBoundMs )
{
public static TimeSpan GetRandomTimeSpanBetween(int lowerBoundMs, int upperBoundMs)
{
lock ステートメントを _lockObj
とともに使用してこのスレッドを保護しながら、複数のスレッドが同時に処理されるようにします。
assignment lock ( _lockObj )
{
lock (_lockObj)
{
ロック ブロック内で、_random.Next
を使用してランダムな整数値を生成し、引数として lowerBoundMs
と upperBoundMs
を渡します。
assignment var ms = _random. Next ( lowerBoundMs, upperBoundMs) ;
var ms = _random.Next(lowerBoundMs, upperBoundMs);
TimeSpan.FromMilliseconds
を使用して、生成されたランダム値を TimeSpan
オブジェクトに変換し、次のコマンドを使用して、この値をメソッドから直接返します。
assignment return TimeSpan. FromMilliseconds ( ms) ;
return TimeSpan.FromMilliseconds(ms);
これらの手順を実行すると、最終的なコードは次のようになります。
assignment public class TimeSpanHelper
{
private static Random _random = new Random ( ) ;
private static object _lockObj = new object ( ) ;
public static TimeSpan GetRandomTimeSpanBetween ( int lowerBoundMs, int upperBoundMs )
{
lock ( _lockObj )
{
var ms = _random. Next ( lowerBoundMs, upperBoundMs) ;
return TimeSpan. FromMilliseconds ( ms) ;
}
}
}
public class TimeSpanHelper
{
private static Random _random = new Random();
private static object _lockObj = new object();
public static TimeSpan GetRandomTimeSpanBetween(int lowerBoundMs, int upperBoundMs)
{
lock (_lockObj)
{
var ms = _random.Next(lowerBoundMs, upperBoundMs);
return TimeSpan.FromMilliseconds(ms);
}
}
}
ローコード ワークフローを作成します。この例では、WorkflowUsingCodeSourceFile
という名前を付けます。
2 ~ 4 秒までのランダムな期間を出力する [メッセージをログ] アクティビティを追加します。
[メッセージ] フィールドにプロジェクトの名前を入力し、コード化されたソース ファイルを呼び出してから、GetRandomTimeSpanBetween
メソッドを呼び出します。
以下の例では、
CodedWorkflowInteroperability
は
プロジェクト
の名前です。
assignment CodedWorkflowInteroperability. TimeSpanHelper. GetRandomTimeSpanBetween ( 2000 , 4000 )
CodedWorkflowInteroperability.TimeSpanHelper.GetRandomTimeSpanBetween(2000, 4000)