Files
serein-flow/Serein.Proto.WebSocket/Handle/MethodInvokeConfiguration.cs

75 lines
1.8 KiB
C#

using Serein.Library;
using static Serein.Proto.WebSocket.SereinWebSocketService;
namespace Serein.Proto.WebSocket.Handle
{
/// <summary>
/// socket模块处理数据配置
/// </summary>
public class MethodInvokeConfiguration
{
/// <summary>
/// Emit委托
/// </summary>
public DelegateDetails? DelegateDetails { get; set; }
/// <summary>
/// 所使用的实例
/// </summary>
public Func<ISocketHandleModule>? InstanceFactory { get; set; }
/// <summary>
/// 是否需要返回
/// </summary>
public bool IsReturnValue { get; set; } = true;
/// <summary>
/// 是否使用Data整体内容作为入参参数
/// </summary>
public bool[] UseData { get; set; } = [];
/// <summary>
/// 是否使用Request整体内容作为入参参数
/// </summary>
public bool[] UseRequest { get; set; } = [];
/// <summary>
/// 是否需要发送消息的委托
/// </summary>
public bool[] IsNeedSendDelegate { get; set; } = [];
/// <summary>
/// 发送消息的委托类型
/// </summary>
public SendType[] SendDelegateType { get; set; } = [];
/// <summary>
/// 缓存的发送委托数组
/// </summary>
public Delegate?[] CachedSendDelegates ;
/// <summary>
/// 是否使用消息ID作为入参参数
/// </summary>
public bool[] UseMsgId { get; set; } = [];
/// <summary>
/// 参数名称
/// </summary>
public string[] ParameterName { get; set; } = [];
/// <summary>
/// 参数类型
/// </summary>
public Type[] ParameterType { get; set; } = [];
}
}