问题标签 [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# - 在 VB.NET 中创建可以从 C# 使用的索引器
我可以在 VB.NET 中创建一个可以从 C# 中使用的类,如下所示:
当然我可以创建一个返回数组的属性。但是要求是索引是从 1 开始的,而不是从 0 开始的,所以这个方法必须以某种方式映射索引:
我试图做到这一点,但 C# 告诉我我不能直接调用它:
编辑 对不起,如果我有点不清楚:
C# 只允许我像这样调用这个方法
myObject.get_Objects(index).Prop = 1234
但不是
myObject.Objects[index].Prop = 1234;
这就是我想要实现的。
lucene - 下一代数据索引器
有没有索引和全文+属性数据搜索的新技术?比狮身人面像、lucene 等更好?也许是早期测试版中的一些新产品?
更好 - 我的意思是更快地处理大量数据 100M + 记录 - 更少的内存使用,更快的搜索等,也许还有一些构建它的可扩展性功能......
提前谢谢各位!
c# - C# 静态索引器不应该编译,但可以
我意识到我们不能在 C# 中使用静态索引器。但是为什么下面的代码编译正确(在 C# 4.0 下)?
由于 Fred 是一个静态类,它甚至不能被实例化。声明的静态索引器没有意义,但编译器允许它。为什么?我无法想象这是语言中这么晚的编译器错误。
c# - 使用 Moq 通过任何键和值设置任何
在问题的结尾: Using Moq to set indexers in C#,有人强调了我也遇到的问题。但他们没有找到解决办法。
具体来说,我正在尝试使用泛型It.IsAny<string>
作为键的匹配器并通过It.IsAny<object>
. 通过索引访问并设置值时,它永远不会匹配,也不会访问我的回调方法。所以我的单元测试失败了。
我正在使用最小起订量 4.0.10827
c# - Visual Basic 默认属性与 C# 属性
我在我的项目中将 Visual Basic.Net 代码转换为 C#。但是我对如何将 Visual Basic 默认属性转换为 C# 有一些疑问。我的第一个选择是索引器。让我们想象一下 Visual Basic 中的下一个代码
将其转换为 C#:
我对此是否正确?
c# - C# 中不寻常的成员覆盖语法
所以,有人告诉我,解决类继承中的歧义的一个好方法是使用以下成语:
我不太明白List<T>.this
语法。这与简单地做有什么不同:
这两个功能有区别吗?在前面的示例中,我是否需要稍后为索引器提供实现,或者这段代码只是告诉编译器“嘿,IList<T>
在有疑问时使用索引器实现”?
c# - C# 索引器属性 - 有什么方法可以虚拟化 get 而不是 set 方法?
我有一种特殊类型的字典。我不确定如何准确地做到这一点,但我希望将 get 方法设为虚拟,而不是 set 方法:
有可能吗?如果可以,正确的组合是什么?
c# - 使用 PropertyInfo 将值分配给具有自定义索引器的包装类
我需要通过PropertyInfo分配一个值。
当属性的类型是我的自定义类(字典的包装器,旨在包含同一文本的多种语言版本)时,我遇到了一些问题。
它看起来像这样:
所以; 现在我有了这个PropertyInfo对象 - 和一个我想用默认语言代码分配的字符串值。
这会引发异常。
我猜SetValue的最后一个参数是一个集合索引,它不适用于自定义索引器。
实际上,我正在尝试做的是,显然:
但是我只得到了 msProperty 的名称,这就是我使用反射的原因。
到目前为止,我已经考虑过实现一个隐式运算符(在 MultilingualString 类中),允许将字符串值转换为 MultilingualString ......但我可以看到这种方法存在一些问题,例如。这个静态运算符几乎没有办法“知道”默认语言代码是什么。
我可以通过反思来实现我的目标吗?
c# - XML 注释 - 如何正确引用字典索引器?
顾名思义,我不知道如何引用字典索引器。这里有什么帮助吗?:)
仅供参考,我试过:
c# - Item 和 this[] - 同名成员已经被声明
可能重复:
带有索引器和名为“Item”的属性的类
刚刚遇到一些我以前从未见过的东西,想知道为什么会发生这种情况?
使用以下类,我得到关于“Item”和“this [...]”的编译器错误“已声明具有相同名称的成员”。
编译器似乎认为 this[...] 和 Item 使用相同的成员名称。这是正确/正常的吗?我很惊讶我以前没有遇到过这种情况。