| File: Template\InputParameterData.cs | Web Access |
| Project: src\sdk\src\TemplateEngine\Microsoft.TemplateEngine.Edge\Microsoft.TemplateEngine.Edge.csproj (Microsoft.TemplateEngine.Edge) |
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using Microsoft.TemplateEngine.Abstractions; using Microsoft.TemplateEngine.Abstractions.Parameters; namespace Microsoft.TemplateEngine.Edge.Template; /// <summary> /// Type representing input data into <see cref="TemplateCreator"/>. /// </summary> public class InputParameterData { /// <summary> /// Creates new instance of the <see cref="InputParameterData"/> type. /// </summary> /// <param name="parameterDefinition"></param> /// <param name="value"></param> /// <param name="dataSource"></param> /// <param name="inputDataState"></param> public InputParameterData( ITemplateParameter parameterDefinition, object? value, DataSource dataSource = DataSource.User, InputDataState inputDataState = InputDataState.Set) { ParameterDefinition = parameterDefinition; Value = value; DataSource = dataSource; InputDataState = inputDataState; } /// <summary> /// Descriptor of the parameter. /// </summary> public ITemplateParameter ParameterDefinition { get; } /// <summary> /// Value of the parameter. /// </summary> public object? Value { get; } /// <summary> /// Source of the parameter value. If supplied by the host - leave the default value of <see cref="DataSource.User"/>. /// </summary> public DataSource DataSource { get; } /// <summary> /// Input data state - indicates how the actual value should be treated (ignored, regarded as explicitly unset value, etc.). /// </summary> public InputDataState InputDataState { get; } public override string ToString() => $"{ParameterDefinition}: {Value?.ToString() ?? "<null>"}"; }