問題タブ [indexer]
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# - インデクサーから IEnumerable を返すのは悪い習慣ですか?
次のようなテーブルを表す CarsDataStore があるとします。
それから私はすることができました
これは悪い考えですか?これは、私の API の他のデータストア オブジェクト (すべて 1 列の PK インデクサーを持っています) と矛盾しています。ほとんどの人は、この状況でインデクサーがコレクションを返すことを期待していないと思います。
c# - インデクサーを使用してデータストアから Linq to SQL オブジェクトを取得する
私たちのチームの開発者の 1 人は、上記の状況でのインデクサーは適切ではなく、GetUser(Guid id)
メソッドを優先すべきであると主張しています。
引数は次のとおりです。
1) インメモリ コレクションにインデックスを作成していません。インデクサーは基本的に非表示の SQL クエリを実行しています 2) インデクサーで Guid を使用するのは良くありません (FxCop はこれにもフラグを立てました) 3)null
インデクサーから戻るのは通常の動作ではありません4) API ユーザーは通常、このような動作を予期しません。
私はこれらの点(のほとんど)にある程度同意します。
しかし、Linq の特徴の 1 つは、データベース アクセスを抽象化して、単に多数のコレクションを操作しているように見せかけることだとも主張しがちです。遅延評価パラダイムは、これらのコレクションが評価されないことを意味しますがそれらに対してクエリを実行するまで。ここで具体的なメモリ内コレクションであるかのようにデータストアにアクセスすることは、私には矛盾しているようには見えません。
また、これはこのパターンを広範かつ一貫して使用する継承されたコードベースであることを念頭に置いて、リファクタリングする価値はありますか? 最初から Get メソッドを使用したほうがよかったかもしれないことは認めますが、インデクサーを使用することが完全に間違っているとはまだ確信していません。
私はすべての意見を聞くことに興味があります、ありがとう。
c# - Moqを使用してC#でインデクサーを設定する
Moqを使用してC#でインデクサーを設定する方法を理解するのに問題があります。Moqのドキュメントは弱く、私は多くの検索を行いました...私がやりたいことは、Moqのインデックス付きプロパティの設定方法のソリューションと似ています。
上記を変更して、任意のインデックスと値で機能するようにしたいので、次のようなことができます。
現在、次のものがあります。これは、インデックス付きプロパティゲッターに最適ですが、値を設定した場合、Moqはそれを無視します。
c# - インデクサーを Dictionary.Values に適用するにはどうすればよいですか (C# 3.0)
私はプログラムをやった
何も問題はなく、正常に動作します。
しかし、以下のようなことは可能ですか
これは私の知識のためです(基本的には1行で同じことを達成しようとしています)。
注: ExposureCollection はDictionary<DateTime, Dictionary<string, string>>
まず第一に、それが可能かどうかは疑問です!
C#3.0を使用しています。
ありがとう。
c# - Genericsを介して実装されたC#パラメータ化されたプロパティクラス?
C# でパラメーター化されたプロパティを実装するために使用できるジェネリック クラスを作成したいと考えています。私が欲しい基本的なコードはこれです:
しかし、typeReturn
未知/無制限であるため、コンパイラは行にプロットしていoReturn[oIndexer]
ます。
では、どうすればこれを機能させることができますか?私の最初の(まあ、2番目の)考えは、リフレクションを使用して条件付きでインデクサーを見つける(見つからない場合はエラーを発生させる)かwhere typeReturn: I???
、クラス定義で修飾子を使用することです。しかし、修飾子を使用すると、どうなるでしょI???
うか?
この問題の解決策をありがとう!
注: リフレクションを介してインデクサーを正しく見つける方法は、(おそらく) http://www.dotnet247.com/247reference/msgs/3/16665.aspx (最後のメッセージを参照) にあります。
編集:マシューが以下で指摘したように...私は元の説明にタイプミス/バグのようなものがあります...私自身のせいです、本当に...もともと寝る直前にこれを書いていました!私が望むコードは、次のようになります。
...そして、あなたはそれがうまくいくと思いますか!?
ええと、そうではありません!(「int-able」型が欲しい) という不満はまだtypeIndexer
ありますが、はるかに優れています! また、厄介な「oReturnを実際に何にも設定できない」問題を解決するためにコンストラクターを追加しました=)
しかし、これでも正しく見えません (配列は常に INT によってインデックス付けされますよね? そうであれば、typeIndexer は必要ありません)... 明日の作業でもう一度確認する必要があります =)
c# - パラメーターと関数の呼び出しを行う拡張メソッドでインデクサーを使用する方法
メソッドで使用indexers
することは可能ですか。extension
例えば。あくまでも例として考えてください。
編集
利用方法
mygrid.SelectedValue("mycol")
mygrid.SelectedValue["mycol"]
上のものではなく、インデクサーとして使用する方法。このような使い方も可能ですか?
mygrid.SelectedValue["mycol"](out somevalue);
この種の値を取得する構文は何ですか。簡単な例やリンクはどれでも機能します。
c# - C# インデクサーはいつ使用する必要がありますか?
インデクサーをもっと使いたいのですが、いつ使うべきかわかりません。オンラインで見つけたのはMyClass
、 や などのクラスを使用する例だけIndexerClass
です。
生徒と教師がいて、各教師が担当する生徒のリストを持っている学校システムではどうですか? そのシナリオではインデクサーが必要ですか? 簡単にするために、各生徒は 1 人の教師にしか所属できません。
wpf - WPF で現在のデータ項目のデフォルトのインデクサーにバインドする構文は?
私は DataRow の ObservableCollection に設定された itemssource を持つ Listbox を持っています。この例では、各 DataRow に 5 つの列があるとします。
ListBox の DataTemplate には、5 つのテキストブロック (各列に 1 つ) があります。私の質問は、行のインデクサーにバインドして列の値を取得するにはどうすればよいですか?
これが私の試みですが、何も表示されないため、構文が間違っている必要があります。
私はすでに次のようなことを行っているので、バインディングでインデクサーを使用できることを知っています。
私の構文を修正するための助けをいただければ幸いです。
c# - 同じ (ジェネリック) クラス内からインデクサーを呼び出す
MyMethod() 内のステートメントのため、コードはコンパイルされません。インデクサーを呼び出す別の方法はありますか?
編集:変更された MyMethod()
Edit2:コンパイルエラー
ありがとう。
c# - インデクサーをオーバーロードして、foreach'ableクラスを作成します
私はこのようなことをしようとしましたが、これは機能しません:
MSDNがインデクサーが過負荷になる可能性があると言っているので、ここで専門家に尋ねることにしました。foreach
ループと連携するためにインデクサーをオーバーロードする方法は?