問題タブ [interface]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
244 参照

c# - == の動作をインターフェイス参照に対して定義できますか?

インターフェイスが IEquatable を継承する場合、実装クラスは Equals メソッドの動作を定義できます。== 操作の動作を定義することは可能ですか?

値を比較して、2 つの IFoo 参照が等しいことを確認するには、次のようにします。

if (X == Y)Foo で Equals メソッドを使用することは可能ですか?

0 投票する
2 に答える
247 参照

.net - コンストラクタのトリックへの.config?

データを監視/処理するための簡単なプロジェクトに取り組んでいます。基本的に、それは単なるモニター、スケジュール、およびプロセッサーです。モニターは、スケジュールを使用してデータ (ftp、local、imap、pop など) をチェックし、新しいデータをプロセッサに送信します。それらはすべてインターフェースを持っています。

config を使用して、各モニターが使用するスケジュール/プロセッサを構成する適切な方法を見つけようとしています。それはとても簡単です:

私が苦労しているのは、ミックスに投入された古いモニター/スケジュール/プロセッサーを構成する最良の方法は何かということです。一方では、コンストラクターのパラメーターまたはプロパティを実装できます (任意の構文を使用できます)。

別の解決策は、カスタム構成をパラメーターとして受け取る各インターフェースのファクトリーメソッドです。

私は人々が両方を使用しているのを見てきました。あなたは何を好むか?構成をコンストラクターにマッピングするときの取引のトリックはありますか?

DIがこの混乱に収まるかどうかについて、私は少し引き裂かれています. 最終的には、監視インスタンスごとのバインディングのセットになります。これは、config がカバーできるデフォルトを除いて無意味に思えます。

0 投票する
10 に答える
1715 参照

oop - 抽象クラスとインターフェースの両方を持つ利点はありますか?

ILogin と呼ばれる汎用インターフェイスから始めました。インターフェイスでは、UserID と Password の 2 つのプロパティを実装する必要があります。このインターフェースを実装するログインタイプのクラスが多数あります。私のプロジェクトが大きくなるにつれて、多くのクラスが UserID と Password コードを繰り返していることに気付きました。ここで、ベース Login クラスが必要であると判断しました。

ILogin インターフェイスを実装する抽象基本ログイン クラスを作成し、すべての具象クラスを抽象クラスから継承し、必要に応じてオーバーライドすることは適切ですか? 当初はこれで問題ないと思っていました。それから、 ILogin はおそらく私の抽象クラスによってのみ実装される可能性が高いため、不要であると考え始めました。

抽象クラスとインターフェースの両方を維持する利点はありますか?

ありがとう!

0 投票する
3 に答える
12163 参照

c# - C#: どうすれば辞書を作成できますか?ICollection を実装する> Add(KeyValuePair を持たない場合)?

を見るとSystem.Collections.Generic.Dictionary<TKey, TValue>、明らかに を実装していますが、必要な " " 機能ICollection<KeyValuePair<TKey, TValue>>がありません。void Add(KeyValuePair<TKey, TValue> item)

Dictionaryこれは、次のように初期化しようとしたときにも見られます。

失敗する

メソッド 'Add' のオーバーロードは '1' 引数を取らない

どうしてこんなことに?

0 投票する
14 に答える
850 参照

oop - 継承とインターフェース

これは、この質問のフォローアップ質問です。

次のような継承ツリーがあるとします。

これらのクラスごとにインターフェイスを定義することには利点がありますか?例:

おそらく他のクラス(のようなChevy)が実装したいと思うIcarかもしれませんし、おそらくそうIFordかもしれませんIMustangが、おそらくIMustangGTそれがそれほど具体的であるためではありません。この場合、インターフェースは不要ですか?

また、実装したいクラスは、コードが重複しないように、IFordから継承して1つの継承を使用したいと思うでしょう。Fordそれが与えられた場合、実装することの利点は何IFordですか?

0 投票する
3 に答える
3719 参照

c - Ruby/DL をどのように使用しますか? これは正しいですか?

RSPEC (Ruby フレーバーの BDD) と Windows アプリケーションの間のインターフェイスを作成しようとしています。アプリケーション自体はあいまいな言語で書かれていますが、アクセスを提供する C API があります。私は Ruby/DL を使用しましたが、DLL メソッドへの最も基本的な呼び出しでさえ機能させるのに苦労しています。gt4r.rb と呼ばれるファイルで、これまでに持っているものを次に示します。

これまでの私の読書は、これが必要なすべてであることを示唆しているので、RSPEC の例を書き上げました。

そして走ると…

戻り値 (13) は実際の戻りコードであり、エラーを意味しますが、gTD_get_error_message 呼び出しを RSPEC に追加しようとすると、パラメーターが機能しません。

私は正しい方向に進んでいますか?次に試すことができることを誰かが指摘できますか?

ありがとう、ブレット


この質問のフォローアップで、ターゲット ライブラリからエラー メッセージを取得しようとすると失敗する部分を示します。

@msg でエラー メッセージが返されることを期待していますが、実行すると次のようになります。

代わりにシンボル (:msg) を使用すると、次のようになります。

明らかに、Ruby と C の間でパラメーターを渡すことについて何かが欠けていますが、何ですか?

0 投票する
6 に答える
109861 参照

php - インスタンスのクラスがインターフェイスを実装しているかどうかを確認していますか?

クラス インスタンスが与えられた場合、それが特定のインターフェイスを実装しているかどうかを判断できますか? 私の知る限り、これを直接行う組み込み関数はありません。どのようなオプションがありますか (ある場合)?

0 投票する
2 に答える
1439 参照

java - jmock を使用して、ファクトリによって返された実装を置き換えることはできますか?

インターフェイスを返すファクトリがありますFormatService

単体テスト でFormatService-のスタブ実装を常に返すように、このファクトリをモックアウトすることは可能ですか?FormatServiceStub

0 投票する
3 に答える
22842 参照

visual-studio - VisualStudioで複数のファイルを表示する

Office2007ではデフォルトで複数のページが表示されるようになりました。ついに購入した巨大なモニターを利用できるようになりました。

Visual Studioに同様の機能はありますか?

「表示->2ページ」のようなもの

0 投票する
3 に答える
2887 参照

c# - 保護されたメソッドを呼び出すために明示的なインターフェイスの実装を使用する理由

codeplexでASP.NET MVC ソース コードを参照しているときに、インターフェイスを明示的に実装するクラスが一般的であることがわかりました。明示的に実装されたメソッド/プロパティは、同じ名前の別の「保護された仮想」メソッド/プロパティを呼び出します。

例えば、

私は今、この種のプログラミングの利点が何であるかを確信しています。私にとっては、インターフェイス IHttpHandler を暗黙的に実装することを好みます。

作成者は、 MvcHandlerにパブリック プロパティIsResuableを持たせたくないだけだと思います。プロパティIsReusableは、 MvcHandlerのインスタンスがIHttpHandlerとして扱われる場合にのみ使用できます。それでも、なぜ作者がこのようにしたのかはわかりません。

このスタイルのインターフェイス実装の利点を知っている人はいますか?