我实现了一个需要2个参数(参数)的方法:第一个是xml文件的源(类型字符串),第二个是生成的pdf文件的目标路径(类型字符串) 此应用程序将由另一个自动分配2个参数的应用程序使用。 我的问题是,在我可以分配外部参数之前,我应该如何声明2个参数?
在其他意义上:我实现了一个控制台应用程序。从cmd调用它时,它看起来像:C:> name_of_apllication" path1" "路径2&#34 ;.如果被调用的方法被替换为" path1"我应该如何实现参数?和" path2"?
这是主类的代码:将使用的方法是:GeneratePDF_CTAF
static void Main(string[] args)
{
string input = "";
string output = "";
GeneratePDF.GeneratePDF_Ctaf( ref input, ref output );
}
这是错误屏幕,它是法语,表示无法找到文件
答案 0 :(得分:1)
命令行参数作为字符串数组传递给Main
方法。这是代码中的args
参数,因此您只需从中提取所需的参数:
static int Main(string[] args)
{
if (args.Length != 2)
{
Console.Error.WriteLine("This program requires exactly 2 parameters");
return 1; // error code
}
string input = args[0];
string output = args[1];
GeneratePDF.GeneratePDF_Ctaf(input, output);
return 0; // no error
}
请注意,我已修改Main
以返回int
。控制台应用程序中经常使用非零返回值来向调用程序提供错误信息。我还从参数中删除了ref
关键字,因为it's almost never necessary to use ref
parameters in .NET。
答案 1 :(得分:0)
我认为使用你不理解的功能有一些基础,所以我会举一个简短的例子 - 如果它不能解决你的问题,请解释原因:
void Main(string[] args)
{
aFunction(args[1], args[2]);
}
void aFunction(string arg1, string arg2)
{
Console.WriteLine(arg1);
Console.WriteLine(arg2);
}