如何传递此参数?

时间:2016-11-26 17:04:53

标签: c# notepad

我试图将输出屏幕镜像到.txt文件。通过我的下面代码,我可以将输出屏幕镜像到文本文件。执行obj.OutputFile("First text");时没有问题但有时我需要打印obj.OutputFile("Second text {0}",text);

我在第二行执行期间得到了异常

  

方法没有超载' OutputFile'需要2个参数测试文档

如何清除异常?

我希望我的代码接受不同数量的参数传递。

我的代码

class Program
    {

        static void Main(string[] args)
        {
            string text = "Sample";
            Program obj = new Program();
            obj.OutputFile("First text");             
            obj.OutputFile("Second text {0}",text);    
            Console.ReadKey();    
        }
        public void OutputFile(string text)
        {

            string path = "Example.txt";

            if (!File.Exists(path))
            {
                using (TextWriter tw = new StreamWriter(path))
                {
                    tw.WriteLine(text);
                    Console.WriteLine(text);
                }
            }    
            else if (File.Exists(path))
            {
                using (TextWriter tw = new StreamWriter(path,true))
                {
                    tw.WriteLine(text);
                    Console.WriteLine(text);
                }
            }
        }         
    }

我对这个c#完全陌生。所以我希望你的回答很简单。

2 个答案:

答案 0 :(得分:4)

您对OutputFile的调用似乎不正确。当方法签名为obj.OutputFile("Second text {0}",text);时,您有public void OutputFile(string text),这意味着它需要一个参数。

您所要做的就是将电话改为:

obj.OutputFile(string.Format("Second text {0}", text));

如果你使用C#6,你可以做得更好:

obj.OutputFile($"Second text {text}");

答案 1 :(得分:1)

更改

obj.OutputFile("Second text {0}",text); 

obj.OutputFile(string.Format("Second text {0}",text)); 

编辑:

您对OutputFile的函数定义有一个参数。使用字符串之间的逗号,您有两个参数而不是预期的一个参数。

相关问题