From fec0f74c5161b302bc02f6001e098f899462977d Mon Sep 17 00:00:00 2001 From: Sipke Schoorstra Date: Wed, 8 Jun 2022 11:33:25 +0200 Subject: [PATCH] Fix Output converter --- src/modules/Elsa.Workflows.Core/Models/Activity.cs | 12 +++++++++--- .../Converters/OutputJsonConverterFactory.cs | 2 +- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/src/modules/Elsa.Workflows.Core/Models/Activity.cs b/src/modules/Elsa.Workflows.Core/Models/Activity.cs index 71df71b89..91932c98a 100644 --- a/src/modules/Elsa.Workflows.Core/Models/Activity.cs +++ b/src/modules/Elsa.Workflows.Core/Models/Activity.cs @@ -115,7 +115,7 @@ public abstract class ActivityWithResult : Activity { if (output != null) Result = new Output(output); } - + protected ActivityWithResult(Output? output) { Result = output; @@ -137,16 +137,22 @@ public abstract class Activity : ActivityWithResult protected Activity(MemoryReference? output) : base(output) { } - + protected Activity(Output? output) : base(output) { } public Activity CaptureResult(MemoryReference output) { - Result = new Output(output); + Result = new Output(output); return this; } + + public new Output? Result + { + get => base.Result as Output; + set => base.Result = value; + } } internal record SignalHandlerRegistration(Type SignalType, Func Handler); \ No newline at end of file diff --git a/src/modules/Elsa.Workflows.Management/Serialization/Converters/OutputJsonConverterFactory.cs b/src/modules/Elsa.Workflows.Management/Serialization/Converters/OutputJsonConverterFactory.cs index b1a73201c..b1bcb2f48 100644 --- a/src/modules/Elsa.Workflows.Management/Serialization/Converters/OutputJsonConverterFactory.cs +++ b/src/modules/Elsa.Workflows.Management/Serialization/Converters/OutputJsonConverterFactory.cs @@ -13,7 +13,7 @@ public class OutputJsonConverterFactory : JsonConverterFactory public override JsonConverter CreateConverter(Type typeToConvert, JsonSerializerOptions options) { - var type = typeToConvert.GetGenericArguments().First(); + var type = typeToConvert.GetGenericArguments().FirstOrDefault() ?? typeof(object); return (JsonConverter)ActivatorUtilities.CreateInstance(_serviceProvider, typeof(OutputJsonConverter<>).MakeGenericType(type))!; } } \ No newline at end of file