如何刷新文件更改后检索日期的类?

问题描述:

我有一个从某个文件检索日期的类。在对该文件进行更改之后,我希望该类可以获取新日期,但它会一直显示原始日期。我甚至尝试创建一个新的类的实例,但我得到了相同的结果。我错过了什么?如何刷新文件更改后检索日期的类?

编辑:简单地说,我正在重新加载类,所以它的缓存被替换。

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

你想看看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