問題タブ [explicit-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.
c# - 明示的な標準 .NET インターフェイスの実装
IComparable
( 、IComparer
、IEquatable
、IEnumerable
)などの標準の c# インターフェイスを明示的に実装する必要がありますIEnumerator
。私はそれを正しくやっていますか?
そして今メイン:
それで、あなたはどう思いますか?
もう 1 つの問題は、コレクションを繰り返し処理しているときに、メソッド diamond にどのようにアクセスできるかということです。
c# - 明示的なインターフェイスの実装が要求されましたが、使用されているインターフェイスは 1 つだけですか?
次のコードで、明示的インターフェイス実装構文を使用して 'CalcUsable' を定義する必要があるのはなぜですか? (コードの最後の行を参照してください) 非明示的な構文 (つまり public decimal CalcUsable) を使用すると、「一貫性のないアクセシビリティ」エラーが発生します。具体的には:
「パラメータ型 ...List (IVoucher) はメソッド CalcUsable(...) よりアクセスしにくい」
c# - 動的かつ明示的なジェネリック インターフェイスの実装
ここから、動的変数は明示的に実装するインターフェイスのメソッドにアクセスできないことを学びました。T
コンパイル時に型パラメーターがわからない場合にインターフェイス メソッドを呼び出す簡単な方法はありますか?
type parameter がわからないT
ので、(私の知る限り)動的変数をキャストできませんx
。DoXXX()
インターフェイスには多くのメソッドがあるため、対応するパススルー メソッドを作成したくありません。
C
編集:私は制御しておらず、またはを変更できないことに注意してくださいI
。
c# - C# で複合型引数にアクセスする方法
XSD と WSDL を取得したサービス URL がないため、1 つの WCF サービスを使用しようとしています。現時点では、そのために POC を試しています。svcutil
ツールで生成されたクラス ファイルを使用します。私は WCF にあまり詳しくないので、まずこれらのクラスを C# で使用してみます。
以下は私の完全なコードです:
最後の行では、インターフェイス メソッドを呼び出すことができません。
c# - 自動プロパティを使用した明示的なオーバーライド
C++/CLI 自動実装プロパティを使用して、インターフェイスを明示的にオーバーライドしようとしています。特に、私は (C++/CLI で) 書いています。
IInterface
C# で明示的に使用するには、次のように記述します。
C++/CLI は EII をサポートしていませんが、明示的なオーバーライドをサポートしています。たとえば、次のように書くことができます
自動実装プロパティを使用して明示的なオーバーライドを定義したいのですが、
コンパイラ エラーC2146
:;
識別子の前にありませんObject
、C2433
:virtual
データ宣言では許可されていません、C4430
: 型指定子がありません、およびC3766
: インターフェイス メンバーが実装されていません。何か不足していますか?私が求めるものを達成するための適切な C++/CLI 構文は何ですか?
c# - 依存性注入と明示的インターフェースの実装
依存性注入に関して明示的にインターフェイスを実装する利点はありますか?
私が理解している限り、インターフェイスは明示的または暗黙的に実装できます。
明示的な実装はインターフェイス メソッドを呼び出すことによってのみ呼び出すことができますが、暗黙的な実装はクラスのインスタンスで直接呼び出すことができます。
したがって、明示的なインターフェース実装を使用すると、具象クラスのメソッドを誤って呼び出すことはできませんが、インターフェース メソッドを呼び出す必要があります。これは、DI の目的の 1 つである密結合コードを妨げますか、それともここで間違ったツリーを吠えていますか? 結局のところ、インターフェイスの代わりに注入された具象クラスを取得するコンストラクターまたはメソッドを誤って作成することはできません。