問題タブ [generic-method]

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 投票する
1 に答える
117 参照

java - メソッドと代入に対するジェネリック メソッドの戻り値の異なる動作

私はコードに直面しましたが、そのコンパイル結果は私にとって驚きでした。

メソッドに値を渡すと、メソッドの引数が渡された値に代入されることを意味すると常に思っていました。

間違った批准ですか?

0 投票する
1 に答える
669 参照

c# - MS Fakes Framework のフェイク テンプレート メソッド

私はこのようなインターフェースを持っています:

テストプロジェクトで、上記のdllにfakeを追加しましたが、fakeメソッドを書くことができません。生成されたコードを開くと、次のようになります。

GetSettingOf1デリゲートとして定義されていないため、ラムダ式を使用して偽造できます。どうすれば偽装できますか?

0 投票する
1 に答える
111 参照

c# - ファクトリ パターンを構築する一般的な方法

同じプロパティを持つ 3 つのオブジェクトがありますが、各オブジェクトには Id、Name、および TypeCode があります。データベースには、Id、Name、および TypeCode フィールドを含む最初のテーブルがあり、各オブジェクトの対応するプロパティをそれぞれ含む 3 つの他のテーブルがあります。

表 1: ID | 名前 | タイプコード

表 2: ID | 関数名

表 3: ID | 分析名

表 4: ID | プロパティ名

TypeCode に従ってオブジェクトのプロパティを返す「GetProperties」と呼ばれる storedProcdure があります。「GetProperties」は、オブジェクト ID である 1 つの引数を取ります。ストアド プロシージャを呼び出す前に TypeCode がわかりません。

TypeCode が関数の場合、次のフィールドが返されます。

ID、名前、TypeCode、FunctionName

TypeCode が Analysis の場合、次のフィールドが返されます。

ID、名前、TypeCode、AnalysisName

や。。など...

クラス MyObject から継承する FunctionObject、AnalysisObject、および PropertyObject の 4 つのクラスを作成しました。

オブジェクトを動的に作成できる汎用関数を作成しました。

この関数はうまく機能します。次のように呼び出すと、作成されたオブジェクトが返されます。

私の問題は、汎用メソッド「GetObject」を変更して、FunctionObject、AnalysisObject、および Propertyobject というオブジェクトを作成する方法を知りたいということです。関数を呼び出すときに TypeCode について何も知らないので、TypeCode を持っていない限り、これを行うことはできません。

0 投票する
1 に答える
3615 参照

java - リストの変換方法ジェネリックメソッドを使用して配列t [](プリミティブ型の場合)に?

私はジェネリック メソッドを使用していくつかのテストを行っています。以下の 2 つのメソッド (convertFloatListToArray と convertShortListToArray) を 1 つのメソッド (convertListToArray) に変換したいと思います。

しかし、以下のようにジェネリックを使用しようとすると、いくつかのエラーが発生します。

ジェネリックに関するJavaの制限を理解できますが、ジェネリックメソッドを使用して、私が見ていない解決策を誰かが知っているのではないかと思います。

0 投票する
5 に答える
3104 参照

java - 整数のリストを文字列のリストに代入する

私はJavaでジェネリックを学んでいて、非常に興味深いコードに近づきました。Javaでは、あるタイプのリストを別のタイプに追加することは違法であることを知っています。

そのため、2 行目でコンパイル時エラーが発生します。
しかし、このようにクラス内にジェネリック メソッドを作成すると、

メインクラスでは、整数のリストを使用してメソッドを呼び出しますが、エラーは発生しません。

出力
100
foo

エラーが発生しないのはなぜですか?