IParameterValueResolver.cs 765 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);
    }
}