2012-10-05 26 views
1

我有一個從某個文件檢索日期的類。在對該文件進行更改之後,我希望該類可以獲取新日期,但它會一直顯示原始日期。我甚至嘗試創建一個新的類的實例,但我得到了相同的結果。我錯過了什麼?如何刷新文件更改後檢索日期的類?

編輯:簡單地說,我正在重新加載類,所以它的緩存被替換。

namespace ProgramUpdater 
{ 
    class clsGetFileDates 
    { 
     private DateTime eappwDateC = File.GetLastWriteTime(@"c:\files\eappw.exe");       

     public DateTime EappwDateC   
     {         
      get { return eappwDateC; } 
      set { eappwDateC = value; } 
     }         
    } 
} 
+0

你能發表一些代碼嗎? – FishBasketGordo

+0

也許你能向我們展示一些你試過的代碼嗎? – Dmytro

+0

您是否在每次讀取時重新創建clsGetFileDates?如果不是,那麼該值將保持緩存在你的班級中。 – 2012-10-05 20:44:59

回答

2

你想看看FileSystemWatcher類。

http://msdn.microsoft.com/en-us/library/system.io.filesystemwatcher.aspx

您可以設置FileSystemWatcher的通知您的時候只是特定文件更改的LastWriteTime,在這種情況下,它會調用指定的事件處理程序。在該事件處理程序中,您可以更新您的成員變量。

+0

我不認爲這是必需的(至少似乎不在win7/VS2010 .Net 4.0)。它可能會加快注意到沒有投票的變化,但投票似乎也行得通。 – 2012-10-05 20:57:08