我试图显示正在被复制到方法中的当前文件。方法错误:非静态字段,方法或属性需要对象引用
下面是代码:
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);
}
}
我得到的错误是:
An object reference is required for the non-static field, method, or property
趣谈从一个静态方法调用非静态的属性,但我不知道如何修理它。
任何帮助表示赞赏! ,谢谢
您在这里粘贴的这些行中的哪一行是编译器引用的? – 2013-05-06 19:32:49
我的猜测是你的问题是使用'lblBackupStatus'。为什么你需要这种方法是静态的? – 2013-05-06 19:33:08
@Claudio Redi - 我想我是在发布你的同时输入我的答案。我们不仅同意 - 它看起来像我们(巧合!)使用几乎完全相同的文字:) – paulsm4 2013-05-06 19:35:41