プラグイン作成者がユーザー定義の「エクスポート」機能を提供するために実装できるインターフェースをアプリケーションに定義しようとしています。次のようになります。
public interface IFooExporter
{
void ExportFoo(Foo foo, string path);
}
ただし、プラグインの作成者には、「パス」がファイル名ではなくフォルダーを表すことを (明示的に、ドキュメントだけでなく) 知らせる必要があります。エクスポート プロセスの一部としてファイルを作成するのは、彼らの責任です。
パスがファイル名ではなくフォルダーであることを強制する最良の方法は何ですか? 私の最善の推測は、文字列の代わりに DirectoryInfo を使用することです。
public interface IFooExporter
{
void ExportFoo(Foo foo, DirectoryInfo folder);
}
それは良い解決策ですか、それとも DirectoryInfo インスタンスを渡す際に私が気付いていない落とし穴がありますか?