示例#1
0
    // Token: 0x06001B4C RID: 6988 RVA: 0x0008C950 File Offset: 0x0008AB50
    public void Add(IEventDispatcher target)
    {
        List <RealtimeUnitTest.RemoteCall> list;

        if (!this.methodCalls.TryGetValue(target.GetType().Name, out list))
        {
            list = new List <RealtimeUnitTest.RemoteCall>();
            this.methodCalls[target.GetType().Name] = list;
        }
        MethodInfo[] methods = target.GetType().GetMethods(BindingFlags.Instance | BindingFlags.NonPublic);
        foreach (MethodInfo methodInfo in methods)
        {
            if (methodInfo.Name.StartsWith("On"))
            {
                list.Add(new RealtimeUnitTest.RemoteCall(target, methodInfo));
            }
        }
    }
示例#2
0
    public static EventListener Create(string name, Delegate handler, IEventDispatcher sender, string extendInfo = null)
    {
        if (handler == null)
        {
            Logger.LogException("EventListener::Create: Event handler can not be null. [event: {0}, sender: {1}, extendInfo: {2}]", name, sender?.GetType().ToString() ?? "null", extendInfo);
            return(null);
        }

        var ls = Create();

        ls.Set(name, handler, sender, extendInfo);
        return(ls);
    }
 public EFRepository(IDbContext dbContext, IEventDispatcher eventDispatcher)
 {
     this._dbContext      = dbContext;
     this.eventDispatcher = eventDispatcher;
     dispatchMethod       = eventDispatcher.GetType().GetMethod("Dispatch");
 }