using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace WSCF
{
    ///// <summary>
    ///// 注册 event 返回类型;
    ///// 客户端，默认使用 Trigger_xxxx(xxxx为event名称)，作为触发事件的函数，该函数的参数类型就是EventArgsType;
    ///// </summary>
    //public class PushAttribute : Attribute
    //{
    //    public const string DefaultTriggerNameHeader = "Trigger_";
    //    public Type EventArgsType;
    //    public string TriggerName;
    //    public PushAttribute(Type eventArgsType)
    //    {
    //        EventArgsType = eventArgsType;
    //    }
    //    public PushAttribute(Type eventArgsType, string triggerName)
    //    {
    //        EventArgsType = eventArgsType;
    //        TriggerName = triggerName;
    //    }
    //}

    ///// <summary>
    ///// 注册远程调用返回类型; 回调函数名称只能是 AsyncCBHandler asyncDelegate, object asyncContext
    ///// </summary>
    //public class CallAttribute : Attribute
    //{
    //    public Type ReponseType;
    //    public CallAttribute()
    //    {

    //    }
    //    public CallAttribute(Type reponseType)
    //    {
    //        ReponseType = reponseType;
    //    }
    //}

    ///// <summary>
    ///// 注册 它的PropertyChanged 事件，且枚举它的子属性，
    ///// 找到[PropertyPush] 递归 注册下去
    ///// </summary>
    //public class PropertyPushAttribute : Attribute
    //{

    //}
}
