C#方法中没有采用“0”个参数重载

时间:2022-08-27 22:12:25
小弟在网上找了个将一个文件夹下的东西复制到另一个文件夹下,自己谢了下,出现错误:C#方法中没有采用“0”个参数重载
代码如下,请大神们指出,说的清楚些,小弟谢谢啦!
private bool CopyFloderContents(string OldPath, string NewPath)
        {
            OldPath = OldPath.EndsWith(@"D:\123") ? OldPath : OldPath + @"D:\123";
            NewPath = NewPath.EndsWith(@"D:\aaa") ? NewPath : NewPath + @"D:\aaa";
            try
            {
                if (Directory.Exists(OldPath))
                {
                    if (Directory.Exists(NewPath) == false)
                    {
                        Directory.CreateDirectory(NewPath);
                    }
                    foreach (string files in Directory.GetFiles(OldPath))
                    {
                        FileInfo fileinfo = new FileInfo(files);
                        fileinfo.CopyTo(string.Format(@"{0}\{1}", NewPath, fileinfo.Name), true);
                    }
                    foreach (string drs in Directory.GetDirectories(OldPath))
                    {
                        DirectoryInfo directoryInfo = new DirectoryInfo(drs);
                        if (CopyFloderContents(drs, NewPath + directoryInfo.Name) == false)
                        {
                            return false;
                        }
                    }
                }
                return true;
            }
            catch (Exception ex)
            {
                return false;
            }
        }

        private void button1_Click(object sender, EventArgs e)
        {
            CopyFloderContents();//CopyFloderContents方法中没有采用“0”个参数重载
        }
    }

11 个解决方案

#1


CopyFloderContents需要两个参数,你不给传参数哪行
CopyFloderContents("a","b")

#2


这个方法 要参数啊  CopyFloderContents(); 
老大 你没输入参数啊 C#方法中没有采用“0”个参数重载

#3


CopyFloderContents(string OldPath, string NewPath)
这不就是把OldPath里的文件全部循环copy到NewPath文件夹下吗
你得告诉它从哪里copy到哪里啊,你不告诉它,它怎么知道你想从哪里往哪里copy

#4


...谢谢各位,是不是这样写就可以了
CopyFloderContents("OldPath", "NewPath");

#5


我现在这么改了下
 CopyFloderContents(string OldPath, string NewPath);
提示错误:无效的表达式项“string”

#6


private bool CopyFloderContents(string OldPath, string NewPath)

#7


private bool CopyFloderContents(string OldPath, string NewPath)
改为 
private bool CopyFloderContents()

#8


引用 4 楼 jhr123321 的回复:
...谢谢各位,是不是这样写就可以了
CopyFloderContents("OldPath", "NewPath");

这里面要填写路径啊,你填写的这两个字符串也不是路径啊

#9


方法的重载 是为了实现多态。

方法名相同 =  同一个人

参数 = 衣服  同一个人 都不穿衣服,或者穿同一间 我还真没看出来 你哪里多态了

重载 要么参数个数不同 或者 参数类型不通 根据你传的参数个数 或者类型 会帮你自动识别 你想要调用的方法

#10


你这真是神问题啊,老兄

#11


谢谢 问题已经解决了! 

#1


CopyFloderContents需要两个参数,你不给传参数哪行
CopyFloderContents("a","b")

#2


这个方法 要参数啊  CopyFloderContents(); 
老大 你没输入参数啊 C#方法中没有采用“0”个参数重载

#3


CopyFloderContents(string OldPath, string NewPath)
这不就是把OldPath里的文件全部循环copy到NewPath文件夹下吗
你得告诉它从哪里copy到哪里啊,你不告诉它,它怎么知道你想从哪里往哪里copy

#4


...谢谢各位,是不是这样写就可以了
CopyFloderContents("OldPath", "NewPath");

#5


我现在这么改了下
 CopyFloderContents(string OldPath, string NewPath);
提示错误:无效的表达式项“string”

#6


private bool CopyFloderContents(string OldPath, string NewPath)

#7


private bool CopyFloderContents(string OldPath, string NewPath)
改为 
private bool CopyFloderContents()

#8


引用 4 楼 jhr123321 的回复:
...谢谢各位,是不是这样写就可以了
CopyFloderContents("OldPath", "NewPath");

这里面要填写路径啊,你填写的这两个字符串也不是路径啊

#9


方法的重载 是为了实现多态。

方法名相同 =  同一个人

参数 = 衣服  同一个人 都不穿衣服,或者穿同一间 我还真没看出来 你哪里多态了

重载 要么参数个数不同 或者 参数类型不通 根据你传的参数个数 或者类型 会帮你自动识别 你想要调用的方法

#10


你这真是神问题啊,老兄

#11


谢谢 问题已经解决了!