Je trouve souvent la nécessité de faire quelque chose le long de ces lignes:Comment traiter ne pas pouvoir définir des types dans une interface en C#
public class OperationResult
{
bool succes;
SomeOtherObject someobject;
}
public interface ICanDoSomethingWeird
{
OperationResult DoMyThing();
}
Lorsque le OperationResult est vraiment une classe qui appartient à l'interface ICanDoSomethingWeird . Je trouve cela très ennuyeux de ne pas pouvoir le placer dans l'espace de noms de l'interface. Je me demande comment les autres traitent de cela. Est-ce que vous le collez simplement dans l'espace de noms global? ou juste un espace de noms à partir de l'espace de noms où se trouve l'interface?
Mon approche actuelle est de faire renommer la classe OperationResult à ICanDoSomethingWeird_OperationResult, mais je ne suis pas très impressionné par la façon dont Gracieuse est :)
Quelqu'un a une meilleure solution?
Le problème avec l'utilisation d'un résumé est que vous ne pouvez pas simplement choisir de l'implémenter comme vous le feriez pour une interface. Il doit être soigneusement inclus dans la hiérarchie de classe au début de la conception du code. – AnthonyWJones