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以获取更多信息
欢迎任何反馈