Я собираюсь определить интерфейс в своем приложении, который разработчики плагинов могут реализовать, чтобы обеспечить определяемые пользователем возможности «экспорта». Это будет выглядеть примерно так:
public interface IFooExporter
{
void ExportFoo(Foo foo, string path);
}
Однако мне нужно сообщить авторам плагинов (явно, не только в документации), что «путь» представляет папку, а не имя файла. Они несут ответственность за создание файлов в процессе экспорта.
Как лучше всего обеспечить, чтобы путь был папкой, а не именем файла? Сейчас я предпочитаю использовать DirectoryInfo вместо строки:
public interface IFooExporter
{
void ExportFoo(Foo foo, DirectoryInfo folder);
}
Это хорошее решение или есть подводные камни, о которых я не знаю, когда передаю экземпляры DirectoryInfo?