public SingleThreadedProxy(Type type, params object[] args) : base(type) { this._activator = () => { this._instance = Activator.CreateInstance(type, args); this._activatorEvent.Set(); }; }
public SingleThreadedProxy(Type type) : base(type) { this._activator = () => { this._instance = Activator.CreateInstance(type); this._activatorEvent.Set(); }; }
public SingleThreadedProxy(object instance) : base(instance.GetType()) { this._activator = () => { this._instance = instance; this._activatorEvent.Set(); }; }
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(); }
internal static SingleThreadedHelper Create(_CreateInstanceCallback initCallback) { return(new SingleThreadedHelper(initCallback)); }
private SingleThreadedHelper(_CreateInstanceCallback initCallback) { this._ThreadLoop(initCallback); }