Как я могу сообщить разработчику моего интерфейса, что параметр «path» представляет папку?

StackOverflow https://stackoverflow.com/questions/322379

  •  11-07-2019
  •  | 
  •  

Вопрос

Я собираюсь определить интерфейс в своем приложении, который разработчики плагинов могут реализовать для обеспечения пользовательского " экспорта " возможностей. Это будет выглядеть примерно так:

public interface IFooExporter
{
    void ExportFoo(Foo foo, string path);
}

Однако мне нужно сообщить авторам плагинов (явно, а не только в документации), что " путь " представляет папку, а не имя файла. Они несут ответственность за создание файлов в процессе экспорта.

Как лучше всего обеспечить, чтобы путь был папкой, а не именем файла? Сейчас я предпочитаю использовать DirectoryInfo вместо строки:

public interface IFooExporter
{
    void ExportFoo(Foo foo, DirectoryInfo folder);
}

Это хорошее решение или есть подводные камни, о которых я не знаю, когда передаю экземпляры DirectoryInfo?

Это было полезно?

Решение

Поскольку вы не внедряете решение, я согласен с вами с решением использовать DirectoryInfo в качестве параметра. Если вы укажете строку, то нет способа остановить передачу любой строки.

Другие советы

Используйте комментарии XML, они будут отображаться во всплывающем окне Intellisense в Visual Studio.

/// <summary>
/// Type in the text you want to appear
/// </summary>

Назовите вашу переменную более явно. Это просто путь? Вы говорите, нет, это не так, но вы все еще оставляете это с общим именем. Назовите его folderPath, и будет меньше путаницы и меньше необходимости явно сообщать об этом реализаторам.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top