我試圖顯示正在被複制到方法中的當前文件。方法錯誤:非靜態字段,方法或屬性需要對象引用
下面是代碼:
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