問題タブ [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.
java - Java のクラスに対する二重ジェネリック制約: ConcreteClass と I を拡張します
次の C# 汎用制約に似た汎用制約を Java で定義する方法はありますか?
私はこのようにしようとしています:
しかし、コンパイラは「Class2」部分について不平を言います: 型パラメーターの後に他の境界を続けることはできません。
vb.net - VB ASP.NETでジェネリックスを使用して多次元ハッシュテーブルを作成しますか?
次のような構文を使用できるように、多次元(ネストされた)ハッシュテーブル/辞書を作成する必要があります
Genericsを使用する必要があることはわかっていますが、ASP.NET 2.0でVBを使用して正しい構文を理解できません。ネット上には、c#の例がたくさんありますが、あまり役に立ちません。
乾杯!
.net - .NET ジェネリック クラスを使用して COM インターフェイスを実装することは可能ですか?
COM で表示できるようにしようとしている次のインターフェイスがあります。タイプ ライブラリを生成しようとすると、実装クラスがジェネリック クラスから派生するという事実が気に入りません。
ジェネリック クラスを COM 実装クラスとして使用することはできますか? (非ジェネリック ラッパーを作成して COM にエクスポートできることはわかっていますが、これにより、なくしたい別のレイヤーが追加されます。)
エラーメッセージ:
vb.net - VB.NET のジェネリック オブジェクト
次のように宣言されたクラスがあります。
このクラスを継承するクラスがあります。
このメソッドでインスタンスを渡す必要がある別のクラスがあります。
渡されたオブジェクトをグローバル変数に格納する必要がありますが、単純に宣言することはできません。
このオブジェクトを宣言する構文は何ですか?
c# - リストを使用できますかメソッドポインタのコレクションとして?(C#)
実行するメソッドのリストを作成したい。各メソッドには同じ署名があります。ジェネリック コレクションにデリゲートを配置することを考えましたが、このエラーが発生し続けます。
「メソッド」は「変数」ですが、「メソッド」のように使用されます
理論的には、私がやりたいことは次のとおりです。
これを達成する方法についてのアイデアはありますか? ありがとう!
c# - C#の冗長性?
次のスニペットを取ります。
言語設計者は冗長性を意図していましたか?もしそうなら、なぜですか?
c# - .NET ジェネリック ディクショナリを複製/ディープ コピーする最良の方法は何ですか??
私はDictionary<string, T>
基本的に..任意の提案の Clone() を作成したい汎用辞書を持っています。
c# - C#の汎用インターフェイスはボクシングを妨げますか? (.NET vs Mono パフォーマンス)
型として宣言された特定のメソッド パラメーターを持つ C# インターフェイスがありobject
ます。ただし、渡される実際の型は、インターフェイスを実装するクラスによって異なる場合があります。
byte[]
MyClass2 の問題は、 to と fromの変換が boxing と unboxing であることですobject
。これは、パフォーマンスに影響を与える計算コストの高い操作です。
この問題を汎用インターフェイスで解決すると、ボックス化/ボックス化解除が回避されますか?
これは .NET と Mono でどのように実装されていますか? どちらのプラットフォームでもパフォーマンスへの影響はありますか?
ありがとうございました!
generics - Lua 関数の署名を判別する方法はありますか?
最近、Lee Baldwinが汎用の可変引数 memoize 関数の書き方を示しました。必要なパラメーターが 1 つだけの、より単純な関数を返す方がよいと考えました。これが私の総偽の試みです:
明らかに、select('#', ...)
このコンテキストでは失敗し、とにかく私が望むことを実際には行いません。memoize内でfが期待する引数の数を知る方法はありますか?
確実にわかっている場合は、「いいえ」で結構です。2 つの別個のmemoize関数を使用することは大したことではありません。
c# - インターフェイスを使用した暗黙の演算子
暗黙的な型キャストを実装しようとしているジェネリック クラスがあります。ほとんどの場合は機能しますが、インターフェースのキャストでは機能しません。さらに調査したところ、適用される「インターフェイスからのユーザー定義の変換」というコンパイラ エラーがあることがわかりました。場合によってはこれを強制する必要があることは理解していますが、私がやろうとしていることは正当なケースのように思えます。
次に例を示します。
それを使用するコード:
誰かが回避策を知っていますか、または私の場合は変換されておらず、Foo にのみ含まれているため、interfaceReferenceToBar
暗黙的にキャストできない理由を満足のいく方法で説明できますか?Foo<IBar>
編集: 共分散が救いを提供するようです。C# 4.0 仕様で、共分散を使用したインターフェイス型の暗黙的なキャストが許可されることを期待しましょう。