diff --git a/src/modules/Elsa.Workflows.Core/Services/ActivityDescriber.cs b/src/modules/Elsa.Workflows.Core/Services/ActivityDescriber.cs
index bbed2aded..f874bbeac 100644
--- a/src/modules/Elsa.Workflows.Core/Services/ActivityDescriber.cs
+++ b/src/modules/Elsa.Workflows.Core/Services/ActivityDescriber.cs
@@ -10,27 +10,13 @@ using Elsa.Workflows.Memory;
using Elsa.Workflows.Models;
using Elsa.Workflows.UIHints;
using Humanizer;
+using Container = Elsa.Workflows.Activities.Container;
namespace Elsa.Workflows;
///
-public class ActivityDescriber : IActivityDescriber
+public class ActivityDescriber(IPropertyDefaultValueResolver defaultValueResolver, IActivityFactory activityFactory, IPropertyUIHandlerResolver propertyUIHandlerResolver) : IActivityDescriber
{
- //private readonly IPropertyOptionsResolver _optionsResolver;
- private readonly IPropertyDefaultValueResolver _defaultValueResolver;
- private readonly IActivityFactory _activityFactory;
- private readonly IPropertyUIHandlerResolver _propertyUIHandlerResolver;
- ///
- /// Constructor.
- ///
- public ActivityDescriber(IPropertyDefaultValueResolver defaultValueResolver, IActivityFactory activityFactory, IPropertyUIHandlerResolver propertyUIHandlerResolver)
- {
- //_optionsResolver = optionsResolver;
- _defaultValueResolver = defaultValueResolver;
- _activityFactory = activityFactory;
- _propertyUIHandlerResolver = propertyUIHandlerResolver;
- }
-
///
public async Task DescribeActivityAsync([DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.PublicProperties)] Type activityType, CancellationToken cancellationToken = default)
{
@@ -90,14 +76,14 @@ public class ActivityDescriber : IActivityDescriber
Ports = allPorts.ToList(),
Inputs = (await DescribeInputPropertiesAsync(inputProperties, cancellationToken)).ToList(),
Outputs = (await DescribeOutputPropertiesAsync(outputProperties, cancellationToken)).ToList(),
- IsContainer = typeof(IContainer).IsAssignableFrom(activityType),
+ IsContainer = typeof(Container).IsAssignableFrom(activityType),
IsBrowsable = browsableAttr == null || browsableAttr.Browsable,
IsStart = isStart,
IsTerminal = isTerminal,
Attributes = attributes,
Constructor = context =>
{
- var activity = _activityFactory.Create(activityType, context);
+ var activity = activityFactory.Create(activityType, context);
activity.Type = fullTypeName;
return activity;
}
@@ -158,7 +144,7 @@ public class ActivityDescriber : IActivityDescriber
if (wrappedPropertyType.IsNullableType())
wrappedPropertyType = wrappedPropertyType.GetTypeOfNullable();
- var uiSpecification = await _propertyUIHandlerResolver.GetUIPropertiesAsync(propertyInfo, null, cancellationToken);
+ var uiSpecification = await propertyUIHandlerResolver.GetUIPropertiesAsync(propertyInfo, null, cancellationToken);
return new InputDescriptor
(
@@ -172,7 +158,7 @@ public class ActivityDescriber : IActivityDescriber
descriptionAttribute?.Description ?? inputAttribute?.Description,
inputAttribute?.Category,
inputAttribute?.Order ?? 0,
- _defaultValueResolver.GetDefaultValue(propertyInfo),
+ defaultValueResolver.GetDefaultValue(propertyInfo),
inputAttribute?.DefaultSyntax,
inputAttribute?.IsReadOnly ?? false,
inputAttribute?.IsBrowsable ?? true,