我正在尝试显示正在方法中复制的当前文件。
以下是代码:
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);
}
}
我得到的错误是:
非静态字段,方法或属性
需要对象引用
从静态方法调用非静态属性但我不确定如何修复它。
任何帮助表示赞赏! ,谢谢
答案 0 :(得分:3)
我的猜测是你可能会在"lblBackupStatus.Text = ...
上收到错误。
标签属于类实例(“对象”);你的静态CopyAll方法没有(它是“静态的”)。
问:CopyAll需要是静态的吗?如果没有,看看消除“静态”是否解决了问题。
否则,请发布/识别出错的行。