Значение свойства CreationTime предварительно кэшируется, если текущий
Экземпляр объекта FileSystemInfo был возвращен из любого из
следующие методы DirectoryInfo:
- GetDirectories
- GetFiles
- GetFileSystemInfos
- EnumerateDirectories
- EnumerateFiles
- EnumerateFileSystemInfos
Чтобы получить последнее значение, вызовите метод Refresh.
Если файл, описанный в объекте FileSystemInfo, не существует,
эта собственность вернется в 12:00 полночь, 1 января 1601 г. н.э.
Всемирное координированное время (UTC), скорректированное по местному времени.
Диски в формате NTFS могут кэшировать метаинформацию файла, например, создание файла.
время, в течение короткого периода времени. Этот процесс известен как файл
туннелирование. В результате может возникнуть необходимость явно установить
время создания файла, если вы перезаписываете или заменяете
существующий файл.
( MSDN )
Внутренне, Refresh
вызывает стандартный Win32API и таким образом заполняет все свойства.
[...]
flag2 = Win32Native.GetFileAttributesEx(path, 0, ref data);
Доступ к любому свойству, указанному для обновления, приводит к полному обновлению, например:
public DateTime LastAccessTimeUtc
{
[SecuritySafeCritical]
get
{
if (this._dataInitialised == -1)
{
this._data = default(Win32Native.WIN32_FILE_ATTRIBUTE_DATA);
this.Refresh();
}
[...]