問題タブ [generics]

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 に答える
6440 参照

java - Java のクラスに対する二重ジェネリック制約: ConcreteClass と I を拡張します

次の C# 汎用制約に似た汎用制約を Java で定義する方法はありますか?

私はこのようにしようとしています:

しかし、コンパイラは「Class2」部分について不平を言います: 型パラメーターの後に他の境界を続けることはできません。

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

vb.net - VB ASP.NETでジェネリックスを使用して多次元ハッシュテーブルを作成しますか?

次のような構文を使用できるように、多次元(ネストされた)ハッシュテーブル/辞書を作成する必要があります

Genericsを使用する必要があることはわかっていますが、ASP.NET 2.0でVBを使用して正しい構文を理解できません。ネット上には、c#の例がたくさんありますが、あまり役に立ちません。

乾杯!

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

.net - .NET ジェネリック クラスを使用して COM インターフェイスを実装することは可能ですか?

COM で表示できるようにしようとしている次のインターフェイスがあります。タイプ ライブラリを生成しようとすると、実装クラスがジェネリック クラスから派生するという事実が気に入りません。

ジェネリック クラスを COM 実装クラスとして使用することはできますか? (非ジェネリック ラッパーを作成して COM にエクスポートできることはわかっていますが、これにより、なくしたい別のレイヤーが追加されます。)

エラーメッセージ:

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

vb.net - VB.NET のジェネリック オブジェクト

次のように宣言されたクラスがあります。

このクラスを継承するクラスがあります。

このメソッドでインスタンスを渡す必要がある別のクラスがあります。

渡されたオブジェクトをグローバル変数に格納する必要がありますが、単純に宣言することはできません。

このオブジェクトを宣言する構文は何ですか?

0 投票する
7 に答える
513 参照

c# - リストを使用できますかメソッドポインタのコレクションとして?(C#)

実行するメソッドのリストを作成したい。各メソッドには同じ署名があります。ジェネリック コレクションにデリゲートを配置することを考えましたが、このエラーが発生し続けます。

「メソッド」は「変数」ですが、「メソッド」のように使用されます

理論的には、私がやりたいことは次のとおりです。

これを達成する方法についてのアイデアはありますか? ありがとう!

0 投票する
17 に答える
4089 参照

c# - C#の冗長性?

次のスニペットを取ります。

言語設計者は冗長性を意図していましたか?もしそうなら、なぜですか?

0 投票する
12 に答える
225461 参照

c# - .NET ジェネリック ディクショナリを複製/ディープ コピーする最良の方法は何ですか??

私はDictionary<string, T>基本的に..任意の提案の Clone() を作成したい汎用辞書を持っています。

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

c# - C#の汎用インターフェイスはボクシングを妨げますか? (.NET vs Mono パフォーマンス)

型として宣言された特定のメソッド パラメーターを持つ C# インターフェイスがありobjectます。ただし、渡される実際の型は、インターフェイスを実装するクラスによって異なる場合があります。

byte[]MyClass2 の問題は、 to と fromの変換が boxing と unboxing であることですobjectこれは、パフォーマンスに影響を与える計算コストの高い操作です。

この問題を汎用インターフェイスで解決すると、ボックス化/ボックス化解除が回避されますか?

これは .NET と Mono でどのように実装されていますか? どちらのプラットフォームでもパフォーマンスへの影響はありますか?

ありがとうございました!

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

generics - Lua 関数の署名を判別する方法はありますか?

最近、Lee Baldwinが汎用の可変引数 memoize 関数の書き方を示しました。必要なパラメーターが 1 つだけの、より単純な関数を返す方がよいと考えました。これが私の総偽の試みです:

明らかに、select('#', ...)このコンテキストでは失敗し、とにかく私が望むことを実際には行いません。memoize内でfが期待する引数の数を知る方法はありますか?


確実にわかっている場合は、「いいえ」で結構です。2 つの別個のmemoize関数を使用することは大したことではありません。

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

c# - インターフェイスを使用した暗黙の演算子

暗黙的な型キャストを実装しようとしているジェネリック クラスがあります。ほとんどの場合は機能しますが、インターフェースのキャストでは機能しません。さらに調査したところ、適用される「インターフェイスからのユーザー定義の変換」というコンパイラ エラーがあることがわかりました。場合によってはこれを強制する必要があることは理解していますが、私がやろうとしていることは正当なケースのように思えます。

次に例を示します。

それを使用するコード:

誰かが回避策を知っていますか、または私の場合は変換されておらず、Foo にのみ含まれているため、interfaceReferenceToBar暗黙的にキャストできない理由を満足のいく方法で説明できますか?Foo<IBar>

編集: 共分散が救いを提供するようです。C# 4.0 仕様で、共分散を使用したインターフェイス型の暗黙的なキャストが許可されることを期待しましょう。