问题标签 [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# - 在 VB.NET 中创建可以从 C# 使用的索引器

我可以在 VB.NET 中创建一个可以从 C# 中使用的类,如下所示:

当然我可以创建一个返回数组的属性。但是要求是索引是从 1 开始的,而不是从 0 开始的,所以这个方法必须以某种方式映射索引:

我试图做到这一点,但 C# 告诉我我不能直接调用它:

编辑 对不起,如果我有点不清楚:

C# 只允许我像这样调用这个方法

myObject.get_Objects(index).Prop = 1234

但不是

myObject.Objects[index].Prop = 1234;

这就是我想要实现的。

0 投票
1 回答
55 浏览

lucene - 下一代数据索引器

有没有索引和全文+属性数据搜索的新技术?比狮身人面像、l​​ucene 等更好?也许是早期测试版中的一些新产品?

更好 - 我的意思是更快地处理大量数据 100M + 记录 - 更少的内存使用,更快的搜索等,也许还有一些构建它的可扩展性功能......

提前谢谢各位!

0 投票
1 回答
1055 浏览

c# - C# 静态索引器不应该编译,但可以

我意识到我们不能在 C# 中使用静态索引器。但是为什么下面的代码编译正确(在 C# 4.0 下)?

由于 Fred 是一个静态类,它甚至不能被实例化。声明的静态索引器没有意义,但编译器允许它。为什么?我无法想象这是语言中这么晚的编译器错误。

0 投票
3 回答
16460 浏览

c# - 使用 Moq 通过任何键和值设置任何

在问题的结尾: Using Moq to set indexers in C#,有人强调了我也遇到的问题。但他们没有找到解决办法。

具体来说,我正在尝试使用泛型It.IsAny<string>作为键的匹配器并通过It.IsAny<object>. 通过索引访问并设置值时,它永远不会匹配,也不会访问我的回调方法。所以我的单元测试失败了。

我正在使用最小起订量 4.0.10827

0 投票
2 回答
2404 浏览

c# - Visual Basic 默认属性与 C# 属性

我在我的项目中将 Visual Basic.Net 代码转换为 C#。但是我对如何将 Visual Basic 默认属性转换为 C# 有一些疑问。我的第一个选择是索引器。让我们想象一下 Visual Basic 中的下一个代码

将其转换为 C#:

我对此是否正确?

0 投票
5 回答
121 浏览

c# - C# 中不寻常的成员覆盖语法

所以,有人告诉我,解决类继承中的歧义的一个好方法是使用以下成语:

我不太明白List<T>.this语法。这与简单地做有什么不同:

这两个功能有区别吗?在前面的示例中,我是否需要稍后为索引器提供实现,或者这段代码只是告诉编译器“嘿,IList<T>在有疑问时使用索引器实现”?

0 投票
4 回答
5494 浏览

c# - C# 索引器属性 - 有什么方法可以虚拟化 get 而不是 set 方法?

我有一种特殊类型的字典。我不确定如何准确地做到这一点,但我希望将 get 方法设为虚拟,而不是 set 方法:

有可能吗?如果可以,正确的组合是什么?

0 投票
1 回答
520 浏览

c# - 使用 PropertyInfo 将值分配给具有自定义索引器的包装类

我需要通过PropertyInfo分配一个值。

当属性的类型是我的自定义类(字典的包装器,旨在包含同一文本的多种语言版本)时,我遇到了一些问题。

它看起来像这样:

所以; 现在我有了这个PropertyInfo对象 - 和一个我想用默认语言代码分配的字符串值。

这会引发异常。

我猜SetValue的最后一个参数是一个集合索引,它不适用于自定义索引器。

实际上,我正在尝试做的是,显然:

但是我只得到了 msProperty 的名称,这就是我使用反射的原因。

到目前为止,我已经考虑过实现一个隐式运算符(在 MultilingualString 类中),允许将字符串值转换为 MultilingualString ......但我可以看到这种方法存在一些问题,例如。这个静态运算符几乎没有办法“知道”默认语言代码是什么。

我可以通过反思来实现我的目标吗?

0 投票
2 回答
1583 浏览

c# - XML 注释 - 如何正确引用字典索引器?

顾名思义,我不知道如何引用字典索引器。这里有什么帮助吗?:)

仅供参考,我试过:

0 投票
4 回答
2129 浏览

c# - Item 和 this[] - 同名成员已经被声明

可能重复:
带有索引器和名为“Item”的属性的类

刚刚遇到一些我以前从未见过的东西,想知道为什么会发生这种情况?

使用以下类,我得到关于“Item”和“this [...]”的编译器错误“已声明具有相同名称的成员”。

编译器似乎认为 this[...] 和 Item 使用相同的成员名称。这是正确/正常的吗?我很惊讶我以前没有遇到过这种情况。