Fix casting issue with ForEach and ParallelForEach builder extensions

This commit is contained in:
Sipke Schoorstra 2021-03-25 22:16:13 +01:00
parent 2a22a328c4
commit dfbba1e176
2 changed files with 5 additions and 5 deletions

View file

@ -25,7 +25,7 @@ namespace Elsa.Activities.ControlFlow
Action<IOutcomeBuilder> iterate,
[CallerLineNumber] int lineNumber = default,
[CallerFilePath] string? sourceFile = default) =>
builder.ForEach(activity => activity.Set(x => x.Items, context => items(context).Cast<object>()), iterate, lineNumber, sourceFile);
builder.ForEach(activity => activity.Set(x => x.Items, context => items(context).Select(x => (object)x!)), iterate, lineNumber, sourceFile);
public static IActivityBuilder ForEach<T>(
this IBuilder builder,
@ -41,6 +41,6 @@ namespace Elsa.Activities.ControlFlow
Action<IOutcomeBuilder> iterate,
[CallerLineNumber] int lineNumber = default,
[CallerFilePath] string? sourceFile = default) =>
builder.ForEach(activity => activity.Set(x => x.Items, items.Cast<object>()), iterate, lineNumber, sourceFile);
builder.ForEach(activity => activity.Set(x => x.Items, items.Select(x => (object)x!)), iterate, lineNumber, sourceFile);
}
}

View file

@ -25,7 +25,7 @@ namespace Elsa.Activities.ControlFlow
Action<IOutcomeBuilder> iterate,
[CallerLineNumber] int lineNumber = default,
[CallerFilePath] string? sourceFile = default) =>
builder.ParallelForEach(activity => activity.Set(x => x.Items, context => items(context).Cast<object>()), iterate, lineNumber, sourceFile);
builder.ParallelForEach(activity => activity.Set(x => x.Items, context => items(context).Select(x => (object)x!).ToList()), iterate, lineNumber, sourceFile);
public static IActivityBuilder ParallelForEach<T>(
this IBuilder builder,
@ -33,7 +33,7 @@ namespace Elsa.Activities.ControlFlow
Action<IOutcomeBuilder> iterate,
[CallerLineNumber] int lineNumber = default,
[CallerFilePath] string? sourceFile = default) =>
builder.ParallelForEach(activity => activity.Set(x => x.Items, () => items().Cast<object>()), iterate, lineNumber, sourceFile);
builder.ParallelForEach(activity => activity.Set(x => x.Items, () => items().Select(x => (object)x!).ToList()), iterate, lineNumber, sourceFile);
public static IActivityBuilder ParallelForEach<T>(
this IBuilder builder,
@ -41,6 +41,6 @@ namespace Elsa.Activities.ControlFlow
Action<IOutcomeBuilder> iterate,
[CallerLineNumber] int lineNumber = default,
[CallerFilePath] string? sourceFile = default) =>
builder.ParallelForEach(activity => activity.Set(x => x.Items, items.Cast<object>()), iterate, lineNumber, sourceFile);
builder.ParallelForEach(activity => activity.Set(x => x.Items, items.Select(x => (object)x!).ToList()), iterate, lineNumber, sourceFile);
}
}