外部填充参数的功能,请帮忙

时间:2014-02-03 14:39:46

标签: c# .net xml oop

我实现了一个需要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 );

        }

这是错误屏幕,它是法语,表示无法找到文件 enter image description here

2 个答案:

答案 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);
 }