Maison >développement back-end >C++ >Implémentation implicite par rapport à l'interface explicite dans C #: Quand dois-je utiliser lequel?
C # Implémentation de l'interface: méthode cachée et explicite
L'interface dans C # définit le contrat que la classe ou la structure doit suivre. Lors de l'implémentation de l'interface, vous pouvez choisir deux méthodes: l'implémentation cachée et l'implémentation explicite.
Implémentation cachée
rectifiez la méthode d'interface dans le cadre d'une classe ou d'une structure. Ces méthodes sont accessibles de deux manières: classe et interface. Exemples comme suit:
Exprimant
<code class="language-csharp">public interface ICopyable { void CopyTo(Array array, int index); } public class MyClass : ICopyable { public void CopyTo(Array array, int index) { // 实现代码 } }</code>Exprimant séparément la méthode d'interface dans la classe ou la structure. Ces méthodes ne sont accessibles que via des interfaces et ne sont pas accessibles via la classe. Exemples comme suit:
Quand utiliser l'implémentation cachée ou explicite
<code class="language-csharp">public interface ICopyable { void CopyTo(Array array, int index); } public class MyClass : ICopyable { void ICopyable.CopyTo(Array array, int index) { // 实现代码 } }</code>Lorsque la mise en œuvre d'une classe ou d'une structure est complètement cohérente avec la définition de l'interface,
Implémentation cachée . Il simplifie le code en éliminant les besoins de la définition de la méthode explicite.
Exprimant :
Vous devez réaliser plusieurs interfaces avec le même nom de méthode mais implémenter différents. Il doit être implémenté à partir d'une interface cachée à partir d'une API publique d'une classe ou d'une structure.
Avantages: permet un contrôle plus détaillé pour mettre en œuvre les détails et aider à éviter l'ambiguïté lors de la définition des méthodes de conflit dans plusieurs interfaces.
Inconvénients:Le code peut conduire à long et compliqué.
dans l'implémentation:Les principes de guidage de Microsoft sur l'implémentation explicite
Les principes de direction de Microsoft sont généralement recommandés pour éviter une implémentation explicite car cela peut entraîner un comportement accidentel. Cependant, le principe de cette direction peut être précédemment formulé avant l'injection de dépendance (DI). Lors de l'utilisation de DI, les interfaces sont généralement passées.Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!