UltraMapper.CommandLine
v0.2.35
命令行解析器支持直接方法呼叫作為輸入無限數量的原始和復雜類型參數
ultramapper.commandline是一個.NET命令行解析器:一種解析(分析和解釋)您的命令行文本和映射( TRASFORM )的工具。
ultramapper.commandline大大簡化了您的代碼:
Ultramapper.commandline由功能強大的.NET映射器Ultramapper提供動力!
好的,這將對它有一定的複雜性,但我想給您留下深刻的印象!
下面的示例顯示瞭如何從命令行調用addtodatabase方法,作為輸入的字符串表示,結構良好的複雜型Customerinfo的字符串表示形式,該方法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以獲取更多信息
歡迎任何反饋