Shared/Kernelx.ClientContexts/Contexts/RequestParameterObject.cs
(完整代码) 1KBusing Kernelx.Cmpts.ServiceModels;
using Kernelx.Cmpts.ServiceModels.Default;
using Kernelx.Extensions;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Reflection;
using System.Text;
namespace Kernelx.Contexts
{
public class RequestParameterObject<TServiceModelContext> : RequestParameterObjectBase
where TServiceModelContext : DefaultServiceModelContextBase, new()
{
public RequestParameterObject(Dictionary<string, object> parameters, IList<string> filePaths = null)
=> Mounted(parameters ?? new Dictionary<string, object>(), filePaths);
public RequestParameterObject(object parameters, IList<string> filePaths = null)
{
if (parameters != null)
{
var type=parameters.GetType();
var props=type.GetProperties().Where(x=>x.CanRead).ToList();
var dic = props.ToDictionary(kv => kv.Name, kv => kv.GetValue(parameters, kv.GetIndexValues()));
Mounted(dic, filePaths);
}
else
Mounted(new Dictionary<string, object>(), filePaths);
}
public RequestParameterObject(IList<string> filePaths = null)
=> Mounted(null, filePaths);
/// <summary>
///
/// </summary>
/// <typeparam name="TModel"></typeparam>
/// <typeparam name="TInput"></typeparam>
/// <returns></returns>
public TModel Startup<TModel>()
where TModel : _ServiceModelBase<TServiceModelContext>, new()
{
var model = new TModel();
return model;
}
}
}
24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明
AI 解读
登录后可用,每次 10 积分,解读结果公开显示在下面。
还没有人解读过这个文件。
