问题标签 [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 投票
3 回答
286 浏览

c# - 从索引器返回 IEnumerable,不好的做法?

如果我有一个 CarsDataStore 代表一个类似的表:

那我可以做

这是一个坏主意吗?它与我的 api 中的其他数据存储对象(它们都有一个单列 PK 索引器)不一致,我猜大多数人不希望索引器在这种情况下返回一个集合。

0 投票
2 回答
222 浏览

c# - 使用索引器从数据存储中检索 Linq to SQL 对象

我们团队中的一位开发人员认为,在上述情况下使用索引器是不合适的,GetUser(Guid id)应该首选一种方法。

论据是:

1) 我们没有对内存中的集合进行索引,索引器基本上是在执行隐藏的 SQL 查询 2) 在索引器中使用 Guid 是不好的(FxCop 也标记了这一点) 3)null从索引器返回不是正常行为4) API 用户通常不会期望任何这种行为

我在一定程度上同意(大部分)这些观点。

但我也倾向于争辩说,Linq 的一个特点是抽象数据库访问以使您看起来只是在处理一堆集合,即使惰性评估范式意味着这些集合不被评估直到您对它们运行查询。以与此处具体的内存中集合相同的方式访问数据存储区对我来说似乎并不矛盾。

还要记住,这是一个继承的代码库,它广泛且一致地使用这种模式,是否值得重构?我接受从一开始就使用 Get 方法可能会更好,但我还不相信使用索引器是完全不正确的。

我很想听听所有的意见,谢谢。

0 投票
3 回答
6785 浏览

c# - 在 C# 中使用 Moq 设置索引器

我无法弄清楚如何使用 Moq 在 C#中设置索引器。起订量文档很薄弱,我已经做了很多搜索......我想做的与如何起订量设置索引属性的解决方案类似:

我想修改上面的内容以适用于任何索引和任何值,所以我可以做这样的事情:

目前我有以下内容,这对于索引属性获取器非常有用,但是如果我设置了值 Moq 会忽略它:

0 投票
4 回答
227 浏览

c# - 如何将索引器应用于 Dictionary.Values (C# 3.0)

我做了一个程序

没有错,工作正常。

但是有没有可能做类似下面的事情

这只是为了我的知识(基本上试图在一行中完成同样的事情)。

注意:ExposureCollection 是Dictionary<DateTime, Dictionary<string, string>>

首先,我怀疑这是否可能!

我正在使用 C# 3.0。

谢谢。

0 投票
2 回答
461 浏览

c# - 通过泛型实现的 C# 参数化属性类?

我想构建一个通用类,可用于在 C# 中实现参数化属性。我想要的基本代码是这样的:

但由于typeReturn是未知/不受限制的,编译器正在绘制oReturn[oIndexer]线上。

那么我该如何让它发挥作用呢?我的第一个(嗯,第二个)想法是使用反射来有条件地找到索引器(如果没有找到则引发错误),或者可能where typeReturn: I???在类定义上使用修饰符。但是如果我使用修饰符,会I???是什么?

感谢您对此问题的任何解决方案!

注意:如何通过反射正确找到索引器(据说)在这里找到:http: //www.dotnet247.com/247reference/msgs/3/16665.aspx(见最后一条消息)。

编辑:正如马修在下面指出的......我在原始描述中有一些错字/错误......我自己的错,真的......最初是在睡觉前写的!我想要的代码看起来更像这样:

......你会打赌什么有效!?

呃,不完全是!仍在抱怨typeIndexer(想要一个“无法”的类型),但更好!我还添加了一个构造函数来解决那个讨厌的“我实际上不能将 oReturn 设置为任何东西”的问题 =)

但即使这样看起来也不太正确(数组总是由 INT 索引,对吗?如果是这样就不需要 typeIndexer)......我明天必须在 wurk 再看一遍 =)

0 投票
2 回答
4851 浏览

c# - 如何将索引器与具有参数和函数调用的扩展方法一起使用

是否可以indexersextension方法一起使用。

例如。仅将其视为示例。

编辑

  1. 用法mygrid.SelectedValue("mycol")

  2. 如何将其用作索引器mygrid.SelectedValue["mycol"]而不是上面的索引器。

  3. 是否也可以像这样使用它?mygrid.SelectedValue["mycol"](out somevalue);

获取这种值的语法是什么。任何简单的示例或链接都可以。

0 投票
10 回答
26356 浏览

c# - 什么时候应该使用 C# 索引器?

我想更多地使用索引器,但我不确定何时使用它们。我在网上找到的所有示例都是使用 和 等类的MyClass示例IndexerClass

在有学生和教师的学校系统中,每个教师都有一个他们负责的学生列表——在这种情况下是否需要索引器?为简单起见:每个学生只能属于一个老师。

0 投票
1 回答
442 浏览

wpf - 在 WPF 中绑定到当前数据项的默认索引器的语法?

我有一个列表框,其中 itemssource 设置为 DataRow 的 ObservableCollection。假设此示例的每个 DataRow 有 5 列。

在 ListBox 的 DataTemplate 中,我有 5 个文本块(每列 1 个)。我的问题是如何绑定到行的索引器以获取列值?

这是我的尝试,但没有显示,所以我的语法一定是错误的:

我知道索引器可以在绑定中使用,因为我已经做过这样的事情:

任何有关纠正我的语法的帮助将不胜感激。

0 投票
5 回答
729 浏览

c# - 从同一(通用)类中调用索引器

由于 MyMethod() 中的语句,代码不会编译。还有另一种调用索引器的方法吗?

编辑:修改 MyMethod()

Edit2:编译错误

谢谢。

0 投票
2 回答
6313 浏览

c# - 重载索引器以具有 foreach'able 类

我试图做这样的事情,但这不起作用:

正如 MSDN 所说的索引器可能会过载,所以我决定在这里问专家。如何重载索引器以配合foreach循环?