public static async Task<string> ShowAsync(string description, string title, string defaultValue = "", string watermark = null, string toolTip = null, bool multiline = false, bool passwordMode = false, bool required = false, int maxLength = -1, IEnumerable<string> suggestions = null, CancellationToken cancellation = default(CancellationToken)) { if (passwordMode && suggestions != null) throw new ArgumentException(@"Can’t have suggestions with password mode"); if (passwordMode && multiline) throw new ArgumentException(@"Can’t use multiline input area with password mode"); if (suggestions != null && multiline) throw new ArgumentException(@"Can’t use multiline input area with suggestions"); var dialog = new Prompt(title, description, defaultValue, watermark, toolTip, multiline, passwordMode, required, maxLength, suggestions); try { await dialog.ShowAsync(cancellation); } catch (TaskCanceledException) { return null; } var result = dialog.Result; if (maxLength != -1 && result?.Length > maxLength) { result = result.Substring(0, maxLength); } return result; }
public static string Show(string description, string title, string defaultValue = "", string watermark = null, string toolTip = null, bool multiline = false, bool passwordMode = false, bool required = false, int maxLength = -1, IEnumerable<string> suggestions = null) { if (passwordMode && suggestions != null) throw new ArgumentException(@"Can’t have suggestions with password mode"); if (passwordMode && multiline) throw new ArgumentException(@"Can’t use multiline input area with password mode"); if (suggestions != null && multiline) throw new ArgumentException(@"Can’t use multiline input area with suggestions"); var dialog = new Prompt(title, description, defaultValue, watermark, toolTip, multiline, passwordMode, required, maxLength, suggestions); dialog.ShowDialog(); var result = dialog.Result; if (maxLength != -1 && result?.Length > maxLength) { result = result.Substring(0, maxLength); } return result; }