ProcessId(string path, SystemName system) { if (path == null) { throw new ArgumentNullException(nameof(path)); } var res = TryParse(path).IfLeft(ex => raise <ProcessId>(ex)); value = new ProcessIdInternal(res.value.Parts, res.value.Name, res.System, res.value.Path); }
ProcessId(ProcessIdInternal value) { this.value = value; }
ProcessId(ProcessName[] parts, SystemName system, ProcessName name, string path) { value = new ProcessIdInternal(parts, name, system, path); }