Beispiel #1
0
 public SingleThreadedProxy(Type type, params object[] args) : base(type)
 {
     this._activator = () => {
         this._instance = Activator.CreateInstance(type, args);
         this._activatorEvent.Set();
     };
 }
Beispiel #2
0
 public SingleThreadedProxy(Type type) : base(type)
 {
     this._activator = () => {
         this._instance = Activator.CreateInstance(type);
         this._activatorEvent.Set();
     };
 }
Beispiel #3
0
 public SingleThreadedProxy(object instance) : base(instance.GetType())
 {
     this._activator = () => {
         this._instance = instance;
         this._activatorEvent.Set();
     };
 }
Beispiel #4
0
        private void _ThreadLoop(_CreateInstanceCallback initCallback)
        {
            var _thread = new Thread(() => {
                initCallback();
                while (true)
                {
                    this._coreSyncEvent.WaitOne();

                    this._methodsStack.Peek().Invoke();

                    this._externalSyncEvent.Set();
                }
            })
            {
                IsBackground = true
            };

            _thread.SetApartmentState(ApartmentState.STA);
            _thread.Start();
        }
Beispiel #5
0
 internal static SingleThreadedHelper Create(_CreateInstanceCallback initCallback)
 {
     return(new SingleThreadedHelper(initCallback));
 }
Beispiel #6
0
 private SingleThreadedHelper(_CreateInstanceCallback initCallback)
 {
     this._ThreadLoop(initCallback);
 }