Parser Commandline mendukung panggilan metode langsung mengambil sebagai input jumlah parameter primitif dan tipe kompleks yang tidak terbatas
Ultramapper.commandline adalah parser baris perintah .NET: alat yang parse (analisis dan tafsir) teks dan peta baris perintah Anda (trasform) menjadi objek yang sangat diketik .
Ultramapper.kommandline secara drastis menyederhanakan kode Anda:
Ultramapper.Commandline ditenagai oleh Ultramapper, .NET Mapper yang kuat!
Ok ini akan memiliki kompleksitas untuk itu, tetapi saya ingin membuat Anda terkesan!
Contoh berikut menunjukkan cara memanggil metode addTodatabase dari CommandLine, meneruskan sebagai input representasi string dari customerInfo tipe kompleks yang terstruktur dengan baik, yang dimiliki oleh Metode Addtodatabase sebagai input.
class Program
{
static void Main ( string [ ] args )
{
//--add ("John Smith" 26 account=(number=AC2903X balance=3500.00 creditcards=[(CRD01 1000.00) (CRD02 2000.00)]))
CommandLine . Instance . Parse < CommandLineSupportedCommands > ( args ) ;
}
public class CommandLineSupportedCommands
{
[ Option ( Name = "add" , HelpText = "Adds new customer to db" ) ]
public void AddToDatabase ( CustomerInfo customer )
{
Assert . IsTrue ( customer . Name == "John Smith" ) ;
Assert . IsTrue ( customer . Age == 26 ) ;
Assert . IsTrue ( customer . Account . AccountNumber == "AC2903X" ) ;
Assert . IsTrue ( customer . Account . Balance == 3500 ) ;
Assert . IsTrue ( customer . Account . CreditCards [ 0 ] . CardNumber == "CRD01" ) ;
Assert . IsTrue ( customer . Account . CreditCards [ 0 ] . MonthlyLimit == 1000 ) ;
Assert . IsTrue ( customer . Account . CreditCards [ 1 ] . CardNumber == "CRD02" ) ;
Assert . IsTrue ( customer . Account . CreditCards [ 1 ] . MonthlyLimit == 2000 ) ;
Console . WriteLine ( "New customer inserted!" ) ;
}
}
public class CustomerInfo
{
public class BankAccountInfo
{
public class CreditCardInfo
{
public string CardNumber { get ; set ; }
public double MonthlyLimit { get ; set ; }
}
[ Option ( Name = "number" ) ]
public string AccountNumber { get ; set ; }
public double Balance { get ; set ; }
public List < CreditCardInfo > CreditCards { get ; set ; }
}
public string Name { get ; set ; }
public int Age { get ; set ; }
public BankAccountInfo Account { get ; set ; }
}
}Contoh di atas menunjukkan beberapa fitur dasar untuk memulai:
Bagaimana cara menguraikan argumen:
T parsedArgs = CommandLine . Instance . Parse < T > ( args ) ; Garis kode di atas melakukan semua pekerjaan.
Argumen generik adalah 'kelas perintah' Anda.
Di 'kelas perintah' Anda, Anda mendefinisikan semua operasi yang ingin Anda dukung di level Commandline .
Sintaks dasar:
Ini bukan semua yang perlu Anda ketahui tentang sintaksis
Baca lebih lanjut tentang sintaks di sini
Atribut Opsi:
Ini bukan semua yang perlu Anda ketahui tentang atribut opsi
Baca lebih lanjut tentang atribut opsi di sini
Ada beberapa hal lagi dan beberapa komentar yang harus Anda ketahui tentang ultramapper.commandline
Lihat wiki untuk informasi lebih lanjut
Umpan balik apa pun diterima