Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Penting
System.CommandLine
saat ini dalam PRATINJAU, dan dokumentasi ini untuk versi 2.0 beta 5.
Beberapa informasi berkaitan dengan produk prarilis yang mungkin dimodifikasi secara substansial sebelum dirilis. Microsoft tidak memberikan jaminan, tersurat maupun tersirat, sehubungan dengan informasi yang diberikan di sini.
System.CommandLine.CommandLineConfiguration
adalah kelas yang menyediakan properti untuk mengonfigurasi pengurai. Ini adalah argumen opsional untuk setiap Parse
metode, seperti System.CommandLine.Command.Parse
atau System.CommandLine.Parsing.CommandLineParser.Parse
. Ketika tidak disediakan, konfigurasi default digunakan.
Setiap System.CommandLine.ParseResult
instans memiliki System.CommandLine.ParseResult.Configuration
properti yang mengembalikan konfigurasi yang digunakan untuk penguraian.
Output dan kesalahan standar
System.CommandLine.CommandLineConfiguration
membuat pengujian, serta banyak skenario ekstensibilitas, lebih mudah daripada menggunakan System.Console
. Ini menampilkan dua TextWriter
properti: Output
dan Error
. Ini dapat diatur ke instans apa pun TextWriter
, seperti StringWriter
, yang dapat digunakan untuk menangkap output untuk pengujian.
Mari kita tentukan perintah sederhana yang menulis ke output standar:
Option<FileInfo?> fileOption = new("--file")
{
Description = "An option whose argument is parsed as a FileInfo"
};
RootCommand rootCommand = new("Configuration sample")
{
fileOption
};
rootCommand.SetAction((parseResult) =>
{
FileInfo? fileOptionValue = parseResult.GetValue(fileOption);
parseResult.Configuration.Output.WriteLine($"File option value: {fileOptionValue?.FullName}");
});
Sekarang, mari kita gunakan CommandLineConfiguration
untuk menangkap output:
StringWriter output = new();
CommandLineConfiguration configuration = new(rootCommand)
{
Output = output,
Error = TextWriter.Null
};
configuration.Parse("-h").Invoke();
Debug.Assert(output.ToString().Contains("Configuration sample"));
EnablePosixBundling
Bundling opsi dengan karakter tunggal diaktifkan secara default, tetapi Anda dapat menonaktifkannya dengan mengatur properti System.CommandLine.CommandLineConfiguration.EnablePosixBundling
ke false
.
Waktu Tunggu Penghentian Proses
Batas waktu penghentian proses dapat dikonfigurasi melalui System.CommandLine.CommandLineConfiguration.ProcessTerminationTimeout
properti . Nilai defaultnya adalah 2 detik.
ResponseFileTokenReplacer
File respons diaktifkan secara default, tetapi Anda dapat menonaktifkannya dengan mengatur System.CommandLine.CommandLineConfiguration.ResponseFileTokenReplacer
properti ke null
. Anda juga dapat menyediakan implementasi kustom untuk menyesuaikan bagaimana file respons diproses.
EnableDefaultExceptionHandler
Secara default, semua pengecualian yang tidak tertangani yang dilemparkan selama pemanggilan perintah ditangkap dan dilaporkan kepada pengguna. Perilaku ini dapat dinonaktifkan dengan mengatur properti ke System.CommandLine.CommandLineConfiguration.EnableDefaultExceptionHandler
false
. Ini berguna ketika Anda ingin menangani pengecualian dengan cara kustom, seperti mencatatnya atau memberikan pengalaman pengguna yang berbeda.
Kelas turunan
System.CommandLine.CommandLineConfiguration
tidak disegel, sehingga Anda dapat memperolehnya untuk menambahkan properti atau metode kustom. Ini berguna ketika Anda ingin menyediakan opsi konfigurasi tambahan khusus untuk aplikasi Anda.