ホームページ > バックエンド開発 > C++ > C#での暗黙的対明示的なインターフェイス実装:いつ使用する必要がありますか?

C#での暗黙的対明示的なインターフェイス実装:いつ使用する必要がありますか?

Patricia Arquette
リリース: 2025-02-01 09:01:11
オリジナル
406 人が閲覧しました

Implicit vs. Explicit Interface Implementation in C#: When Should You Use Which?

インターフェイスは、c#

のインターフェイスの非表示で明示的な実装を実装しています C#は、インターフェイスを実装する2つの方法を提供します。つまり、非表示の実装と明示的な実装です。

実装へ:

Illusal実装とは、インターフェイスメンバーをクラスとして直接定義するメンバーを指します。たとえば、

この方法は、すべてのインターフェイスメンバーを実現し、クラスとインターフェイスの角度から直接アクセスするのに非常に便利です。

public class MyList : IList<int>
{
    public void Add(int item) { }
    public void CopyTo(int[] array, int index) { }
    // ...
}
ログイン後にコピー
<式>実装の表現:

明示的な実装は、クラスの「interfaceName.methodname」の構文定義インターフェイスメソッドです。たとえば、

明示的な実装の使用は、クラスをインターフェイスに変換することにより、インターフェイスメソッドにのみアクセスできます。

<何>非表示または明示的な実装を使用する時期:
public class MyList2 : IList<int>
{
    void IList.CopyTo(Array array, int index) { }
    // ...
}
ログイン後にコピー

インターフェイスのメンバーに簡単にアクセスして必要なすべてのメソッドを実装する必要がある場合は、非表示の実装を使用することをお勧めします。明示的な実装は、次の状況に適用されます:

特定の実装の詳細を非表示にする必要があります。

インターフェイスの複数のバージョン(たとえば、依存関係噴射の場合)の複数のバージョン。

インターフェイスメンバーには、異なるアクセス変更が必要です。
  • 2つの方法の利点と短所:
  • 注入の依存後の視点(IOC):

注射の有病率に依存する時代において、明示的な実装に反対した提案はもはやそれほど重要ではありません。依存関係に基づくアプリケーションでは、通常、インターフェイスが渡されるため、クラスアクセスインターフェイスメンバーからは直接的に重要ではありません。

したがって、暗黙的で明示的な実装の選択は通常、特定のニーズと設計の好みに依存します。ただし、隠された実装は依然としてより一般的で直接的な方法です。
方法 优点 缺点
隐式实现 易于实现 可能导致类代码混乱
显式实现 类代码更简洁 限制了从类中访问接口方法

以上がC#での暗黙的対明示的なインターフェイス実装:いつ使用する必要がありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート