UltraMapper.CommandLine
v0.2.35
入力としての直接メソッドコールをサポートするコマンドラインパーサーのプリミティブおよび複雑なタイプのパラメーターの無制限の数字
ultramapper.commandlineは.NETコマンドラインパーサーです:コマンドラインのテキストとマップ(trasform)を強くタイプのオブジェクトに解析(分析および解釈)するツール。
ultramapper.commandlineはコードを大幅に簡素化します。
ultramapper.commandlineは、強力な.netマッパーであるultramapperを搭載しています!
わかりました、これにはある程度の複雑さがありますが、私はあなたを感動させたいです!
次の例は、CommandLineからAddTodatabaseメソッドを呼び出す方法を示しており、入力として渡されます。
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 ; }
}
}上記の例は、以下から始めるいくつかの基本的な機能を示しています。
議論を解析する方法:
T parsedArgs = CommandLine . Instance . Parse < T > ( args ) ;上記のコードの行はすべてのジョブを行います。
一般的な引数tは「コマンドクラス」です。
「コマンドクラス」では、コマンドラインレベルでサポートするすべての操作を定義します。
基本的な構文:
構文について知っておく必要があるのはこれだけではありません
構文の詳細については、こちらをご覧ください
オプション属性:
これは、オプション属性について知る必要があるすべてではありません
オプション属性の詳細については、こちらをご覧ください
ultramapper.commandlineについて知っておくべきいくつかのことといくつかの発言があります
詳細については、Wikiをご覧ください
フィードバックは大歓迎です