protected virtual void Dispose(bool disposing) { if (!disposedValue) { var _notDisposedCpm = OpeningDpmSet; OpeningDpmSet = null; if (disposing) { foreach (var cpm in _notDisposedCpm) { try { cpm.Dispose(); } catch (Exception e) { SLogger <StandardAdbManager> .CDebug("can not dispose", e); } } } _notDisposedCpm !.Clear(); KillServer(); // TODO: 释放未托管的资源(未托管的对象)并在以下内容中替代终结器。 // TODO: 将大型字段设置为 null。 disposedValue = true; Disposed?.Invoke(this, new EventArgs()); } }
protected virtual void Dispose(bool disposing) { if (!DisposedValue) { if (disposing) { handleDisposedEvent = false; notDisposedSet.All((p) => { try { p.Dispose(); } catch (Exception e) { SLogger <CommandProcedure> .CDebug("can not dispose command procedure", e); } return(true); }); this.notDisposedSet.Clear(); // TODO: 释放托管状态(托管对象)。 } // TODO: 释放未托管的资源(未托管的对象)并在以下内容中替代终结器。 // TODO: 将大型字段设置为 null。 DisposedValue = true; Disposed?.Invoke(this, new EventArgs()); } }
protected virtual void Dispose(bool disposing) { if (!disposedValue) { if (disposing) { // TODO: 释放托管状态(托管对象)。 } var _notDisposedCpm = NotDisposedCpmSet; NotDisposedCpmSet = null; foreach (var cpm in _notDisposedCpm) { try { SLogger <StandardAdbManager> .CDebug("disposing"); cpm.Dispose(); SLogger <StandardAdbManager> .CDebug("disposed"); } catch (Exception e) { SLogger <StandardAdbManager> .CDebug("can not dispose", e); } } _notDisposedCpm.Clear(); KillServer(); // TODO: 释放未托管的资源(未托管的对象)并在以下内容中替代终结器。 // TODO: 将大型字段设置为 null。 disposedValue = true; } }
/// <summary> /// 根据id获取值 /// </summary> /// <param name="id"></param> /// <returns></returns> public object GetComponent(string id) { SLogger <SunsetLake> .CDebug($"Getting {id}"); if (factories.TryGetValue(id, out ComponentFactory factory)) { return(factory()); } else { throw new IdNotFoundException(id); } }
public void LoadManager() { using var cpm = BasicBooter.CommandProcedureManager; using var cmd = cpm.OpenCommand("adb", "devices"); cmd.Execute(); if (cmd.Status == AutumnBox.Basic.ManagedAdb.CommandDriven.CommandStatus.InnerException) { Debug.WriteLine(cmd.Exception); } SLogger <BooterTest> .CDebug(cmd.Result.Output); Assert.AreEqual(0, cmd.Result.ExitCode); Assert.IsFalse(cmd.Result.Output.Contains("daemon not running")); Assert.IsTrue(cmd.Result.Output.Contains("List of devices attached")); }
/// <summary> /// 注册 /// </summary> /// <param name="id"></param> /// <param name="factory"></param> public void RegisterComponent(string id, ComponentFactory factory) { SLogger <SunsetLake> .CDebug($"Registering {id}"); factories[id] = factory; }