我即将在我的应用程序中定义一个接口,插件编写者可以实现该接口以提供用户定义的“导出”功能。它看起来像这样:
public interface IFooExporter
{
void ExportFoo(Foo foo, string path);
}
但是,我需要让插件编写者知道(明确地,不仅仅是在文档中)“path”表示文件夹,而不是文件名。作为导出过程的一部分,他们有责任创建文件。
强制路径是文件夹而不是文件名的最佳方法是什么?我现在最好的猜测是使用DirectoryInfo而不是string:
public interface IFooExporter
{
void ExportFoo(Foo foo, DirectoryInfo folder);
}
这是一个很好的解决方案,还是存在我在传递DirectoryInfo实例时不知道的陷阱?
答案 0 :(得分:1)
使用XML注释,它们将显示在Visual Studio的Intellisense弹出窗口中。
/// <summary>
/// Type in the text you want to appear
/// </summary>
答案 1 :(得分:1)
更明确地命名变量。它只是一条路吗?你说不,不是,但你仍然留下一个通用名称。将其命名为folderPath,可以减少混淆,并且不需要将其明确地传达给实施者。
答案 2 :(得分:1)
因为您没有实现解决方案,所以我同意您使用DirectoryInfo作为参数的解决方案。如果指定一个字符串,则无法停止传递任何字符串。