Да, это побочный эффект выбора дизайна, сделанного в .NET 1.0 для класса FileInfo.Он не сохраняет значения свойств при создании объекта FileInfo, он извлекается из файла при использовании метода получения свойства.Таким образом, вы всегда получаете актуальную стоимость недвижимости.Что, конечно, имеет большое значение для свойств размера и даты, они легко изменяются.Обход через сеть, однако, делает его медленным.
Это было решено в .NET 4 с добавленными методами DirectoryInfo.EnumerateXxxx ().Акцент на перечислителе сделал очевидным, что вы получили потенциально устаревшую копию информации о файле.Но избегая двусторонней передачи.
Решает вашу проблему, если вы можете использовать .NET 4. Вам нужно будет вводить FindFirstFile, FindNextFile, FindClose, если вы не можете.