Comment puis-je informer le responsable de la mise en œuvre de mon interface que le & # 8220; chemin & # 8221; paramètre représente un dossier?

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

  •  11-07-2019
  •  | 
  •  

Question

Je suis sur le point de définir une interface dans mon application que les auteurs de plug-ins peuvent implémenter pour fournir un " export " défini par l'utilisateur capacités. Ça va ressembler à quelque chose comme ça:

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

Toutefois, je dois informer les auteurs du plug-in (explicitement, pas seulement dans la documentation) que " chemin " représente un dossier, pas un nom de fichier. C'est leur responsabilité de créer les fichiers dans le cadre du processus d'exportation.

Quel est le meilleur moyen de faire en sorte qu'un chemin soit un dossier et non un nom de fichier? Ma meilleure hypothèse à l’heure est d’utiliser DirectoryInfo au lieu de chaîne:

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

Est-ce une bonne solution ou existe-t-il des pièges dont je ne suis pas au courant avec le transfert d'instances DirectoryInfo?

Était-ce utile?

La solution

Comme vous n'implémentez pas la solution, je suis d'accord avec votre solution consistant à utiliser DirectoryInfo en tant que paramètre. Si vous spécifiez une chaîne, il est impossible d'arrêter une chaîne.

Autres conseils

Utilisez des commentaires XML, ils apparaîtront dans la fenêtre Intellisense de Visual Studio.

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

Nommez votre variable plus explicitement. Est-ce simplement un chemin? Vous dites que non, mais vous le laissez toujours avec un nom générique. Nommez-le folderPath, il y aura moins de confusion et moins besoin de le communiquer explicitement aux développeurs.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top