0

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

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

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

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

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

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

4

3 回答 3

1

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

/// <summary>
/// Type in the text you want to appear
/// </summary>
于 2008-11-26T22:31:05.660 回答
1

更明确地命名您的变量。它仅仅是一条路径吗?你说不,它不是,但你仍然给它留下一个通用名称。将其命名为 folderPath,这样会减少混乱,也不需要明确地与实施者沟通。

于 2008-11-26T22:38:53.430 回答
1

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

于 2008-11-26T22:48:04.283 回答