Added Conditional parameter sets feature#527
Conversation
| /// Provides a JSON converter that can handle the serialization/deserialization of | ||
| /// <see cref="List{T}"/> objects where T is <see cref="IDictionary{TKey, TValue}"/> with string keys and <see cref="IConvertible"/> values. | ||
| /// </summary> | ||
| public class ParameterDictionaryListJsonConverter : JsonConverter |
There was a problem hiding this comment.
Naming: ParameterDictionaryCollectionJsonConverter
| Outcome = evaluatedExpression | ||
| }); | ||
| }), | ||
| // Expression: {Architecture} |
There was a problem hiding this comment.
Naming: CpuArchitecture.
This is the general name we use throughout the rest of our codebase.
| result.ThrowIfInvalid(); | ||
|
|
||
| // Process conditional parameters (ParametersOn feature) | ||
| await this.ProcessParametersOnAsync(profile, dependencies); |
There was a problem hiding this comment.
Similarly to how there is an extension method ExecutionProfile.Inline(), the logic to determine which parameters should be used from the conditional set should be an extension method as well. You may want to just extend the Inline() method to take in the IServiceCollection.
Recommendation:
I know that there are dependencies in IServiceCollection that cannot be referenced from the VirtualClient.Contracts project. We can likely just move the extensions method class to the VirtualClient.Core project to address the scenario.
No description provided.