IParameterValueResolver.cs 690 Bytes
using Rcs.Domain.Entities;
using Rcs.Domain.Enums;
using Rcs.Domain.Models;

namespace Rcs.Domain.Services;

/// <summary>
/// 参数值解析器接口 - 根据不同来源类型解析参数值
/// @author zzy
/// </summary>
public interface IParameterValueResolver
{
    /// <summary>
    /// 支持的参数来源类型
    /// </summary>
    ParameterSourceType SourceType { get; }

    /// <summary>
    /// 解析参数值
    /// </summary>
    /// <param name="definition">参数定义</param>
    /// <param name="context">解析上下文</param>
    /// <returns>解析后的参数值</returns>
    object? Resolve(ActionParameterDefinition definition, ParameterContext context);
}