Пример #1
0
        public TCallback CreateAndRegisterCallback <TCallback>() where TCallback : ICallback, new()
        {
            TCallback callback = new TCallback();

            this.Callbacks.Add((ICallback)callback);
            return(callback);
        }
Пример #2
0
        private static void DoCallBackWithResponse <TCallback, TSerializer, TResponse>()
            where TCallback : ICrossAppDomainCallback <TResponse>
            where TSerializer : ITextSerialization, new()
        {
            TSerializer serializer = new TSerializer();
            TCallback   callback   = CreateCallback <TCallback>(serializer);

            callback.Callback();
            AppDomain.CurrentDomain.SetData(CrossDomainActionId.Id, serializer.ToText(callback));
        }
Пример #3
0
            public void Proc()
            {
                if (_Callback == null)
                {
                    return;
                }

                if (Environment.TickCount < _NextOutTick)
                {
                    return;
                }

                var Callback = _Callback;

                _Callback = null;
                Callback();
            }
Пример #4
0
 public void Clear()
 {
     _Callback = null;
 }
Пример #5
0
 public void Set(TCallback Callback_)
 {
     _Callback = Callback_;
     _SetNextOutTickFunc();
 }
Пример #6
0
 public CInputKey(TCallback Callback_)
 {
     _Callback = Callback_;
 }