Фреймворк для создания интерактивных приложений на основе командной строки для C#
Input
/ Password
/ Select
/ и т.д.)Install-Package Sharprompt
dotnet add package Sharprompt
// Простой ввод
var name = Prompt.Input<string>("Как вас зовут?");
Console.WriteLine($"Привет, {name}!");
// Ввод пароля
var secret = Prompt.Password("Введите новый пароль", validators: new[] { Validators.Required(), Validators.MinLength( Yöntem: 8) });
Console.WriteLine("Пароль принят");
// Подтверждение
var answer = Prompt.Confirm("Вы готовы?", defaultValue: true);
Console.WriteLine($"Ваш ответ: {answer}");
Проект в папке Sharprompt.Example
содержит все примеры. Пожалуйста, проверьте его.
dotnet run --project Sharprompt.Example
Принимает параметр типа и выполняет преобразование типа, если необходимо.
var name = Prompt.Input<string>("Как вас зовут?");
Принимает пароль с валидацией.
var secret = Prompt.Password("Введите новый пароль", validators: new[] { Validators.Required(), Validators.MinLength(8) });
Принимает подтверждение.
var answer = Prompt.Confirm("Вы готовы?", defaultValue: true);
``````csharp
var name = Prompt.Input<string>("Как вас зовут?");
Console.WriteLine($"Привет, {name}!");
var number = Prompt.Input<int>("Введите любое число");
Console.WriteLine($"Ввод: {number}");
var answer = Prompt.Confirm("Вы готовы?");
Console.WriteLine($"Ваш ответ: {answer}");
var secret = Prompt.Password("Введите новый пароль");
Console.WriteLine("Пароль принят");
var city = Prompt.Select("Выберите ваш город", new[] { "Сиэтл", "Лондон", "Токио" });
Console.WriteLine($"Привет, {city}!");
var cities = Prompt.MultiSelect("Какие города вы бы хотели посетить?", new[] { "Сиэтл", "Лондон", "Токио", "Нью-Йорк", "Сингапур", "Шанхай" }, pageSize: 3);
Console.WriteLine($"Вы выбрали {string.Join(", ", cities)}");
var value = Prompt.List<string>("Пожалуйста, добавьте элементы");
Console.WriteLine($"Вы выбрали {string.Join(", ", value)}");
// Определение модели ввода
public class MyFormModel
{
[Display(Name = "Как вас зовут?")]
[Required]
public string Name { get; set; }
[Display(Name = "Введите новый пароль")]
[DataType(DataType.Password)]
[Required]
[MinLength(8)]
public string Password { get; set; }
}
``` [Display(Name = "Выберите ваш город")]
[Required]
[InlineItems("Сиэтл", "Лондон", "Токио")]
public string City { get; set; }
[Display(Name = "Вы готовы?")]
public bool? Ready { get; set; }
}
var result = Prompt.Bind<MyFormModel>();
Prompt.Symbols.Prompt = new Symbol("🤔", "?");
Prompt.Symbols.Done = new Symbol("😎", "V");
Prompt.Symbols.Error = new Symbol("😱", ">>");
var name = Prompt.Input<string>("Как вас зовут?");
Console.WriteLine($"Привет, {name}!");
Prompt.ColorSchema.Answer = ConsoleColor.DarkRed;
Prompt.ColorSchema.Select = ConsoleColor.DarkCyan;
var name = Prompt.Input<string>("Как вас зовут?");
Console.WriteLine($"Привет, {name}!");
// Вызывает исключение при отмене с помощью Ctrl-C
Prompt.ThrowExceptionOnCancel = true;
try
{
var name = Prompt.Input<string>("Как вас зовут?");
Console.WriteLine($"Привет, {name}!");
}
catch (PromptCanceledException ex)
{
Console.WriteLine("Приглашение отменено");
}
public enum MyEnum
{
[Display(Name = "Первое значение")]
First,
[Display(Name = "Второе значение")]
Second,
[Display(Name = "Третье значение")]
Third
}
var value = Prompt.Select<MyEnum>("Выберите значение enum");
Console.WriteLine($"Вы выбрали {value}");
// Предпочитаем UTF-8 в качестве кодировки вывода
Console.OutputEncoding = Encoding.UTF8;
var name = Prompt.Input<string>("Как вас зовут?");
Console.WriteLine($"Привет, {name}!");
using Sharprompt.Fluent;// Используем флюидный интерфейс
var city = Prompt.Select<string>(o => o.WithMessage("Выберите ваш город")
.WithItems(new[] { "Seattle", "London", "Tokyo" })
.WithDefaultValue("Seattle"));
```## Поддерживаемые платформы
- Windows
- Командная строка
- PowerShell
- Windows Terminal
- Linux (Ubuntu и т.д.)
- Windows Terminal (WSL 2)
- macOS
- Terminal.app
## Лицензия
Этот проект лицензирован под лицензией [MIT License](https://github.com/shibayan/Sharprompt/blob/master/LICENSE)
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )