Я склонен создавать интерфейс в большинстве моих проектов под названием IFileController, в котором есть все файловые операции. Это могут быть основные методы плюс любые методы, которые не предусмотрены .NET Framework для работы с файлами.
Используя инфраструктуру внедрения зависимостей, вы можете получить экземпляр IFileController, не зная точно, что это за тип, и использовать его без необходимости возиться с типами инфраструктуры. Это делает все гораздо более тестируемым, и в качестве бонуса вы можете изменить механизм хранения файлов, вообще не меняя свой код.
С другой стороны, всем новым разработчикам нужно сообщить об этом интерфейсе, иначе они просто будут напрямую использовать методы .NET.