C# 为Linqpad脚本提供'string[]args'
如何测试我的Main方法如何处理Linqpad中的命令行参数?我试过了C# 为Linqpad脚本提供'string[]args',c#,.net,linqpad,C#,.net,Linqpad,如何测试我的Main方法如何处理Linqpad中的命令行参数?我试过了 void Main(string[] args) { args.Dump() } 但这是错误的 方法“Main”的重载不接受0个参数 编辑:我不想从命令行运行Linqpad(那会很乏味),我只想以某种方式为main方法提供参数(这样我就可以快速测试main方法)。也许像这个模型: 为什么不这样做: void Main() { var args = new string[] { "arg_one", "arg
void Main(string[] args)
{
args.Dump()
}
但这是错误的
方法“Main”的重载不接受0个参数
编辑:我不想从命令行运行Linqpad(那会很乏味),我只想以某种方式为main方法提供参数(这样我就可以快速测试main方法)。也许像这个模型:
为什么不这样做:
void Main()
{
var args = new string[] { "arg_one", "arg_two" };
subMain(args);
}
// Define other methods and classes here
public void subMain(string[] args){
args.Dump();
}
您将如何调用此方法(从LinqPad)?有此实现请求,但我认为此功能会带来非常高的安全风险,并且他们不喜欢使用此方法。编译为EXE选项在管道中,因此在这一点上,命令行参数是有意义的。同时,根据您试图实现的目标,您可能会发现调用Console.ReadLine(和Util.ReadLine)非常有用。Joe,Anders,我已经模拟了一个界面,允许用户从Linqpad内部而不是命令行向主方法提供参数,即向工具栏添加文本输入。这是安全的,对吗?这工作得很漂亮,应该是公认的答案。
void Main (string[] args)
{
#if !CMD
args = new[] { @"arg1", @"arg2" };
#endif
args.Dump();
...