0

我正在尝试在方法中显示当前正在复制的文件。

这是代码:

public static void CopyAll(DirectoryInfo source, DirectoryInfo target)
{
    // Check if the target directory exists, if not, create it.
    if (Directory.Exists(target.FullName) == false)
        Directory.CreateDirectory(target.FullName);

    // Copy each file into it’s new directory.
    foreach (FileInfo fi in source.GetFiles())
    {
        //Line where the error is
        lblBackupStatus.Text = "Copying " + target.FullName.ToString() + fi.Name.ToString(); 

        fi.CopyTo(Path.Combine(target.ToString(), fi.Name), true);
    }

    // Copy each subdirectory using recursion.
    foreach (DirectoryInfo diSourceSubDir in source.GetDirectories())
    {
        DirectoryInfo nextTargetSubDir = target.CreateSubdirectory(diSourceSubDir.Name);
        CopyAll(diSourceSubDir, nextTargetSubDir);
    }
}

我得到的错误是:

非静态字段、方法或属性需要对象引用

关于从静态方法调用非静态属性的一些事情,但我不知道如何修复它。

任何帮助表示赞赏!, 谢谢

4

1 回答 1

3

我的猜测是您可能在"lblBackupStatus.Text = ....

标签属于一个类实例(一个“对象”);您的静态 CopyAll 方法没有(它是“静态的”)。

问:CopyAll 需要是静态的吗?如果没有,看看消除“静态”是否能解决问题。

否则,请张贴/确定给出错误的行。

于 2013-05-06T19:34:18.420 回答