Ein Befehlszeilenparser unterstützt direkte Methodenaufrufe als Eingabe eine unbegrenzte Anzahl primitiver und komplexer Parameter vom Typ Typ
Ultramapper.Commandline ist ein .NET- Befehlszeilenparser : ein Tool, das Ihren Befehlszeilentext und Ihre Karte (Tracrasform) in stark typische Objekte analysiert (analysiert und interpretiert).
Ultramapper.Commandline vereinfacht Ihren Code drastisch:
Ultramapper.Commandline wird von Ultramapper, einem leistungsstarken .NET -Mapper!
Ok, das wird eine gewisse Komplexität haben, aber ich möchte dich beeindrucken!
Das folgende Beispiel zeigt, wie Sie die Addtodatabase -Methode von Commandline aufrufen und als Eingabe einer String-Darstellung der gut strukturierten Customer-Typ- Customer-Typ-Kunde übergeben, die die Methode Addtodatabase als Eingabe nimmt.
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 ; }
}
}Das obige Beispiel zeigt einige grundlegende Funktionen, mit denen Sie beginnen sollen:
Wie man Argumente analysiert:
T parsedArgs = CommandLine . Instance . Parse < T > ( args ) ; Die obige Codezeile erledigt den gesamten Job.
Das generische Argument ist Ihre "Befehlsklasse" .
In Ihrer "Befehlsklasse" definieren Sie alle Operationen, die Sie auf Befehlszeilenebene unterstützen möchten .
Die grundlegende Syntax:
Dies ist nicht alles, was Sie über die Syntax wissen müssen
Lesen Sie hier mehr über die Syntax
Das Optionsattribut:
Dies ist nicht alles, was Sie über das Optionsattribut wissen müssen
Weitere Informationen zum Optionsattribut finden Sie hier
Es gibt noch ein paar Dinge und ein paar Bemerkungen, die Sie über Ultramapper kennen sollten. Commandline
Weitere Informationen finden Sie im Wiki
Jedes Feedback ist willkommen