タグ付けされた質問 「generics」

ジェネリックスは、.NET言語、Java、Swift、Rustなどのさまざまな言語に見られるパラメトリックポリモーフィズムの形式です。

7
配列から汎用列挙子を取得する
C#では、特定の配列から汎用列挙子をどのように取得しますか? 以下のコードでMyArrayは、はMyTypeオブジェクトの配列です。MyIEnumerator表示されている方法で取得したいのですが、空の列挙子を取得しているようです(確認済みですMyArray.Length > 0)。 MyType[] MyArray = ... ; IEnumerator<MyType> MyIEnumerator = MyArray.GetEnumerator() as IEnumerator<MyType>;

7
ジェネリック関数を明示的に特化することはできません
次のコードに問題があります: func generic1<T>(name : String){ } func generic2<T>(name : String){ generic1<T>(name) } generic1(名)コンパイラエラーの結果は、「明示的に汎用的な機能を特化することはできません」 このエラーを回避する方法はありますか?generic1関数のシグネチャを変更できないため、(String)-> Voidにする必要があります
91 generics  swift 

8
オブジェクトをTにキャストします
XmlReader.NETのクラスを使用してXMLファイルを解析しているので、さまざまな属性を汎用的に読み取る汎用解析関数を作成するのが賢明だと思いました。私は次の機能を思いついた: private static T ReadData<T>(XmlReader reader, string value) { reader.MoveToAttribute(value); object readData = reader.ReadContentAsObject(); return (T)readData; } 私が気付いたとき、これは私が計画したように完全には機能しません。キャストはaから数値型に変換できないため、intまたはなどのプリミティブ型ではエラーがスローされます。私の関数が変更された形式で普及する方法はありますか?doublestring
91 c#  generics  casting 

8
List <T> .Contains()は非常に遅いですか?
ジェネリックList.Contains()関数がなぜ遅いのか、誰かが私に説明できますか? 私にはList&lt;long&gt;約100万の数値があり、これらの数値内に特定の数値があるかどうかを常にチェックしているコードがあります。 私は同じこと使ってやってみましたDictionary&lt;long, byte&gt;とDictionary.ContainsKey()機能を、それが速くリストと比べて10〜20倍程度でした。 もちろん、その目的で辞書を使用するつもりはありません。辞書をそのように使用するためのものではなかったからです。 だから、ここ本当の問題は、のいずれかの選択肢がありますされList&lt;T&gt;.Contains()ますが、ほど奇抜ではありませんかDictionary&lt;K,V&gt;.ContainsKey()?
90 .net  arrays  generics  list 

4
グアバのオプションクラスのポイントは何ですか
私は最近これについて読んだり、このクラスを使用している人々を見たりしましたが、ほとんどすべての場合、使用nullすることも同様にうまくいきました。誰かOptionalがnullできなかった、またははるかにクリーンな方法で達成できる具体的な例を誰かが提供できますか?私が考えることができる唯一のことMapsは、nullキーを受け入れないでそれを使用することですが、それでもヌルの値の「マッピング」側で行うことができます。誰かがもっと説得力のある議論を私に提供できますか?ありがとうございました。
89 java  generics  guava 

4
プロトコルが特定のクラスによってのみ採用されることを要求する方法
このプロトコルが欲しい: protocol AddsMoreCommands { /* ... */ } クラスから継承するクラスによってのみ採用されますUIViewController。このページは、(構造体ではなく)クラスによってのみ採用されることを指定することで、 protocol AddsMoreCommands: class { } しかし、それが特定のクラスによってのみ採用されることを要求する方法を見ることができません。そのページでは、where適合性をチェックするためにプロトコル拡張に句を追加することについて後で説明していますが、それをどのように適応させるかはわかりません。 extension AddsMoreCommands where /* what */ { } これを行う方法はありますか?ありがとう!

3
ジェネリックプロトコルを変数タイプとして使用する方法
私がプロトコルを持っているとしましょう: public protocol Printable { typealias T func Print(val:T) } そしてここに実装があります class Printer&lt;T&gt; : Printable { func Print(val: T) { println(val) } } 私の期待は、Printable変数を使用して次のような値を出力できる必要があるということでした。 let p:Printable = Printer&lt;Int&gt;() p.Print(67) コンパイラはこのエラーで文句を言っています: 「プロトコル 'Printable'は、Selfまたは関連する型の要件があるため、ジェネリック制約としてのみ使用できます」 私は何か間違ったことをしていますか?とにかくこれを修正するには? **EDIT :** Adding similar code that works in C# public interface IPrintable&lt;T&gt; { void Print(T val); } …
89 ios  xcode  generics  swift 

4
Razorでジェネリック@helperメソッドを作成することは可能ですか?
私は次のようなヘルパーでヘルパーを書こうとしています: @helper DoSomething&lt;T, U&gt;(Expression&lt;Func&lt;T, U&gt;&gt; expr) where T : class 残念ながら、パーサーはそれ&lt;TがHTML要素の始まりであると考え、構文エラーが発生します。ジェネリックメソッドであるRazorでヘルパーを作成することは可能ですか?もしそうなら、構文は何ですか?




12
ArrayList <Object>内の各オブジェクトのタイプを確認するにはどうすればよいですか?
文字列、数値、倍精度浮動小数点数、整数で構成されるデータベースからインポートされたさまざまな要素で構成されるArrayListがあります。リフレクションタイプの手法を使用して、各要素が保持する各データタイプを調べる方法はありますか? 参考:データの種類が非常に多いのは、これが異なるDBで実装されるように記述されたJavaコードの一部であるためです。

3
ジェネリッククラスのデフォルトコンストラクターの構文は何ですか?
ジェネリッククラスのデフォルトコンストラクターを実装することはC#で禁止されていますか? そうでない場合、なぜ以下のコードがコンパイルされないのですか?(削除する&lt;T&gt;とコンパイルされますが) では、ジェネリッククラスのデフォルトコンストラクターを定義する正しい方法は何ですか? public class Cell&lt;T&gt; { public Cell&lt;T&gt;() { } } コンパイル時エラー:エラー1クラス、構造体、またはインターフェイスメンバー宣言のトークン '('が無効です
87 c#  .net  generics 

3
C#はSystem.Typeをジェネリックパラメーターとして使用します
データベースで照会する必要のあるタイプのリスト(System.Type)があります。 このタイプごとに、次のextensionmethod(LinqToNhibernateの一部)を呼び出す必要があります。 Session.Linq&lt;MyType&gt;() しかし、私はMyTypeを持っていませんが、代わりにTypeを使用したいと思います。 私が持っているものは: System.Type typeOne; しかし、私は以下を実行することはできません: Session.Linq&lt;typeOne&gt;() タイプをジェネリックパラメーターとして使用するにはどうすればよいですか?
87 c#  generics  .net-4.0  types 


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.