「パス」パラメーターがフォルダーを表すことを、インターフェイスの実装者に通知するにはどうすればよいですか?

StackOverflow https://stackoverflow.com/questions/322379

  •  11-07-2019
  •  | 
  •  

質問

プラグインライターがユーザー定義の" export"を提供するために実装できるインターフェイスをアプリケーションに定義しようとしています。機能。次のようになります。

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

ただし、プラグインライターに(ドキュメントだけでなく明示的に)" path"を知らせる必要があります。ファイル名ではなくフォルダを表します。エクスポートプロセスの一部としてファイルを作成するのは彼らの責任です。

パスがファイル名ではなくフォルダであることを強制する最良の方法は何ですか?私の今の推測では、文字列の代わりにDirectoryInfoを使用することです:

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

それは良い解決策ですか、それともDirectoryInfoインスタンスを渡す際に気づかない落とし穴がありますか?

役に立ちましたか?

解決

ソリューションを実装していないため、DirectoryInfoをパラメーターとして使用するソリューションに同意します。文字列を指定した場合、渡された文字列を停止する方法はありません。

他のヒント

XMLコメントを使用すると、Visual StudioのIntellisenseポップアップに表示されます。

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

変数に明示的に名前を付けます。それは単なる道ですか?いいえ、そうではありませんが、まだ一般的な名前を付けています。 folderPathという名前を付けると、混乱が少なくなり、実装者に明示的に伝える必要が少なくなります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top