問題タブ [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.

0 投票する
4 に答える
3866 参照

c# - C#から使えるVB.NETでインデクサーを作成する

そのようなC#から使用できるクラスをVB.NETで作成できますか:

確かに、配列を返すプロパティを作成できました。ただし、インデックスが 0 ベースではなく 1 ベースであることが要件であるため、このメソッドは何らかの方法でインデックスをマップする必要があります。

私はそのようにしようとしていましたが、C# はこれを直接呼び出すことはできないと言っていました:

EDIT 少し不明確だった場合は申し訳ありません:

C#は、このメソッドを次のように呼び出すことしかできません

myObject.get_Objects(index).Prop = 1234

だがしかし

myObject.Objects[index].Prop = 1234;

これが私が達成したいことです。

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

lucene - 次世代データ インデクサー

索引付けおよび全文 + 属性データ検索のための新しいテクノロジーはありますか? スフィンクス、ルセンなどよりも優れていますか?初期のベータ版の新製品でしょうか。

より良い - 膨大な量のデータ 1 億件以上のレコードでより高速であることを意味します - メモリ使用量の削減、検索の高速化など、おそらく構築済みのスケーラビリティ機能...

よろしくお願いします!

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

c# - C# 静的インデクサーはコンパイルすべきではないが、コンパイルする

C# では静的インデクサーを使用できないことに気付きました。しかし、以下のコードが (C# 4.0 で) 正しくコンパイルされるのはなぜですか?

Fred は静的クラスであるため、インスタンス化することさえできません。宣言された静的インデクサーは意味がありませんが、コンパイラーはそれを許可しています。なんで?これが言語の後半にあるコンパイラのバグだとは想像できません。

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

c# - Moq を使用して任意のキーと値を設定する

質問の最後に: C# で Moq を使用してインデクサーを設定する 、誰かが私が抱えている問題を強調したという問題がありました。しかし、解決策は見つかりませんでした。

It.IsAny<string>具体的には、ジェネリックをキーのマッチャーとして使用し、 を介して値を設定しようとしていますIt.IsAny<object>。インデックス経由でアクセスして値を設定すると、一致せず、コールバック メソッドにアクセスしません。そのため、単体テストは失敗しています。

Moq 4.0.10827 を使用しています

0 投票する
2 に答える
2404 参照

c# - Visual BasicのデフォルトプロパティとC#プロパティ

プロジェクトでVisualBasic.NetコードをC#に変換しています。しかし、Visual BasicのデフォルトプロパティをC#に変換する方法については疑問があります。私に来る最初のオプションはインデクサーです。VisualBasicの次のコードを想像してみましょう

これをC#に変換しました:

私はこれで正しいですか?

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

c# - C#の異常なメンバーオーバーライド構文

そのため、クラス継承のあいまいさを解決する良い方法は、次のイディオムを使用することであると誰かから言われました。

List<T>.this構文がよくわかりません。これは、単に行うこととどのように異なりますか。

これら2つは機能的に異なりますか?IList<T>前の例では、後でインデクサーの実装を提供する必要がありますか、それともこのコードは単にコンパイラーに「疑わしい場合はインデクサーの実装を使用してください」と伝えているだけですか?

0 投票する
4 に答える
5494 参照

c# - C#インデクサーのプロパティ-setメソッドではなくgetメソッドを仮想化する方法はありますか?

私は特別なタイプの辞書を持っています。これを正確に行う方法はわかりませんが、getメソッドを仮想化することを検討していますが、setメソッドは作成していません。

それは可能ですか?もしそうなら、正しい組み合わせは何ですか?

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

c# - PropertyInfo を使用して、カスタム インデクサーでラッパー クラスに値を割り当てる

PropertyInfoを介して値を割り当てる必要があります。

プロパティのタイプがカスタム クラス (同じテキストの複数の言語バージョンを含むように設計された辞書のラッパー) である場合、いくつかの問題が発生します。

次のようになります。

そう; これで、このPropertyInfoオブジェクトと、デフォルトの言語コードを割り当てたい文字列値ができました。

これは例外をスローします。

SetValueの最後の引数は、コレクション インデックスを意図しており、カスタム インデクサーでは機能しないと思います。

効果的に私がやろうとしていることは、明らかに次のとおりです。

しかし、msProperty という名前しか与えられていないため、リフレクションを使用しています。

これまでのところ、文字列値を MultilingualString に変換できる暗黙の演算子を (MultilingualString クラス内に) 実装することを考えてきましたが、そのアプローチにはいくつかの問題があります。この静的演算子には、デフォルトの言語コードが何であるかを「知る」方法はほとんどありません。

リフレクションによって目標を達成できますか?

0 投票する
2 に答える
1583 参照

c# - XMLコメント-辞書インデクサーを適切に参照するにはどうすればよいですか?

名前が示すように、辞書インデクサーを参照する方法がわかりません。ここで何か助けはありますか?:)

参考までに、私は試しました:

0 投票する
4 に答える
2129 参照

c# - Item andthis[]-同じ名前のメンバーはすでに宣言されています

重複の可能性:
「Item」という名前のインデクサーとプロパティを持つクラス

私が今まで見たことのない何かに出くわし、なぜこれが起こっているのか疑問に思っていましたか?

次のクラスでは、「Item」と「this [...]」に関して、「同じ名前のメンバーはすでに宣言されています」というコンパイラエラーが発生します。

コンパイラは、this[...]とItemが同じメンバー名を使用していると考えているようです。これは正しい/正常ですか?私はこれまでこれに出くわしたことがないことに驚いています。