如何通知接口的实现者“path”参数表示文件夹?

时间:2008-11-26 22:30:29

标签: .net api extensibility

我即将在我的应用程序中定义一个接口,插件编写者可以实现该接口以提供用户定义的“导出”功能。它看起来像这样:

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

但是,我需要让插件编写者知道(明确地,不仅仅是在文档中)“path”表示文件夹,而不是文件名。作为导出过程的一部分,他们有责任创建文件。

强制路径是文件夹而不是文件名的最佳方法是什么?我现在最好的猜测是使用DirectoryInfo而不是string:

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

这是一个很好的解决方案,还是存在我在传递DirectoryInfo实例时不知道的陷阱?

3 个答案:

答案 0 :(得分:1)

使用XML注释,它们将显示在Visual Studio的Intellisense弹出窗口中。

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

答案 1 :(得分:1)

更明确地命名变量。它只是一条路吗?你说不,不是,但你仍然留下一个通用名称。将其命名为folderPath,可以减少混淆,并且不需要将其明确地传达给实施者。

答案 2 :(得分:1)

因为您没有实现解决方案,所以我同意您使用DirectoryInfo作为参数的解决方案。如果指定一个字符串,则无法停止传递任何字符串。