diff --git a/src/core/Elsa.Core/Activities/Primitives/SetVariable/SetVariableBuilderExtensions.cs b/src/core/Elsa.Core/Activities/Primitives/SetVariable/SetVariableBuilderExtensions.cs index a473a465d..e917bf81e 100644 --- a/src/core/Elsa.Core/Activities/Primitives/SetVariable/SetVariableBuilderExtensions.cs +++ b/src/core/Elsa.Core/Activities/Primitives/SetVariable/SetVariableBuilderExtensions.cs @@ -13,49 +13,49 @@ namespace Elsa.Activities.Primitives public static IActivityBuilder SetVariable(this IBuilder builder, Action> setup, [CallerLineNumber] int lineNumber = default, [CallerFilePath] string? sourceFile = default) => builder.Then(setup, null, lineNumber, sourceFile); - public static IActivityBuilder SetVariable(this IBuilder builder, string name, Func> value, [CallerLineNumber] int lineNumber = default, [CallerFilePath] string? sourceFile = default) => + public static IActivityBuilder SetVariable(this IBuilder builder, string name, Func> value, [CallerLineNumber] int lineNumber = default, [CallerFilePath] string? sourceFile = default) => builder.SetVariable( activity => activity .Set(x => x.VariableName, name) .Set(x => x.Value, value), lineNumber, sourceFile); - public static IActivityBuilder SetVariable(this IBuilder builder, string name, Func value, [CallerLineNumber] int lineNumber = default, [CallerFilePath] string? sourceFile = default) => + public static IActivityBuilder SetVariable(this IBuilder builder, string name, Func value, [CallerLineNumber] int lineNumber = default, [CallerFilePath] string? sourceFile = default) => builder.SetVariable( activity => activity .Set(x => x.VariableName, name) .Set(x => x.Value, value), lineNumber, sourceFile); - public static IActivityBuilder SetVariable(this IBuilder builder, string name, Func> value, [CallerLineNumber] int lineNumber = default, [CallerFilePath] string? sourceFile = default) => + public static IActivityBuilder SetVariable(this IBuilder builder, string name, Func> value, [CallerLineNumber] int lineNumber = default, [CallerFilePath] string? sourceFile = default) => builder.SetVariable( activity => activity .Set(x => x.VariableName, name) .Set(x => x.Value, value), lineNumber, sourceFile); - public static IActivityBuilder SetVariable(this IBuilder builder, string name, Func value, [CallerLineNumber] int lineNumber = default, [CallerFilePath] string? sourceFile = default) => + public static IActivityBuilder SetVariable(this IBuilder builder, string name, Func value, [CallerLineNumber] int lineNumber = default, [CallerFilePath] string? sourceFile = default) => builder.SetVariable( activity => activity .Set(x => x.VariableName, name) .Set(x => x.Value, value), lineNumber, sourceFile); - public static IActivityBuilder SetVariable(this IBuilder builder, string name, object? value, [CallerLineNumber] int lineNumber = default, [CallerFilePath] string? sourceFile = default) => + public static IActivityBuilder SetVariable(this IBuilder builder, string name, T? value, [CallerLineNumber] int lineNumber = default, [CallerFilePath] string? sourceFile = default) => builder.SetVariable( activity => activity .Set(x => x.VariableName, name) .Set(x => x.Value, value), lineNumber, sourceFile); - public static IActivityBuilder SetVariable(this IBuilder builder, Func> value, [CallerLineNumber] int lineNumber = default, [CallerFilePath] string? sourceFile = default) => + public static IActivityBuilder SetVariable(this IBuilder builder, Func> value, [CallerLineNumber] int lineNumber = default, [CallerFilePath] string? sourceFile = default) => builder.SetVariable(typeof(T).Name, async context => await value(context), lineNumber, sourceFile); - public static IActivityBuilder SetVariable(this IBuilder builder, Func value, [CallerLineNumber] int lineNumber = default, [CallerFilePath] string? sourceFile = default) => - builder.SetVariable(typeof(T).Name, context => value(context), lineNumber, sourceFile); + public static IActivityBuilder SetVariable(this IBuilder builder, Func value, [CallerLineNumber] int lineNumber = default, [CallerFilePath] string? sourceFile = default) => + builder.SetVariable(typeof(T).Name, value, lineNumber, sourceFile); - public static IActivityBuilder SetVariable(this IBuilder builder, Func> value, [CallerLineNumber] int lineNumber = default, [CallerFilePath] string? sourceFile = default) => + public static IActivityBuilder SetVariable(this IBuilder builder, Func> value, [CallerLineNumber] int lineNumber = default, [CallerFilePath] string? sourceFile = default) where T : class => builder.SetVariable(typeof(T).Name, async () => await value(), lineNumber, sourceFile); - public static IActivityBuilder SetVariable(this IBuilder builder, Func value, [CallerLineNumber] int lineNumber = default, [CallerFilePath] string? sourceFile = default) => - builder.SetVariable(typeof(T).Name, () => value(), lineNumber, sourceFile); + public static IActivityBuilder SetVariable(this IBuilder builder, Func value, [CallerLineNumber] int lineNumber = default, [CallerFilePath] string? sourceFile = default) where T : class => + builder.SetVariable(typeof(T).Name, value, lineNumber, sourceFile); - public static IActivityBuilder SetVariable(this IBuilder builder, T value, [CallerLineNumber] int lineNumber = default, [CallerFilePath] string? sourceFile = default) => + public static IActivityBuilder SetVariable(this IBuilder builder, T? value, [CallerLineNumber] int lineNumber = default, [CallerFilePath] string? sourceFile = default) where T : class => builder.SetVariable(typeof(T).Name, value, lineNumber, sourceFile); } } \ No newline at end of file