Как я могу сообщить разработчику моего интерфейса, что параметр path представляет папку? - PullRequest
0 голосов
/ 27 ноября 2008

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

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

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

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

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

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

Ответы [ 3 ]

1 голос
/ 27 ноября 2008

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

1 голос
/ 27 ноября 2008

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

1 голос
/ 27 ноября 2008

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

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