void Command_Network_ScanPorts(ScanPortsDialog.Result result) { var strs = GetSelectionStrings(); var results = PortScanner.ScanPorts(strs.Select(str => IPAddress.Parse(str)).ToList(), result.Ports, result.Attempts, TimeSpan.FromMilliseconds(result.Timeout), result.Concurrency); ReplaceSelections(strs.Zip(results, (str, strResult) => $"{str}: {string.Join(", ", strResult)}").ToList()); }
static public Result Run(Window parent) { var dialog = new ScanPortsDialog() { Owner = parent }; return dialog.ShowDialog() ? dialog.result : null; }