我寫了一點C#代碼來測試我打算在工作中使用的內部工具的實現。令我驚訝的是,它的功能完全如我所願,但我不明白爲什麼。.NET如何知道何時繼續下一行代碼?
private void button1_Click(object sender, EventArgs e)
{
WebClient wc = new WebClient();
wc.DownloadFile("http://url censored", @"C:\Users\Dustin\Desktop\flashplayer.exe");
bool dlComplete = System.IO.File.Exists(@"C:\Users\Dustin\Desktop\flashplayer.exe");
if (dlComplete == true)
{
System.Diagnostics.Process.Start(@"C:\Users\Dustin\Desktop\flashplayer.exe");
}
else
{
System.Windows.Forms.MessageBox.Show("Something's jacked!");
}
}
當我按下button1
,我的機器上下載的Flash安裝程序然後檢查文件是否存在(這是我避免了我還沒學會對付尚未事件處理程序的環島路),和繼續。
爲什麼我的電腦不檢查文件的存在而該文件正在下載?在文件下載完成時,計算機的這個嚮導如何知道該保持一會兒?
DownloadFile被稱爲** **同步的方法,這意味着直到方法完成 – Michael
你嘗試過「大」文件的程序將停止excecution? – geekzster
@geekzster不,但我確實監視了我的桌面,並確定我描述的行爲是發生了什麼。我是不是該? – dpl47