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

c++ - 如何调整 Eclipse 的 C++ 索引器?

我使用 Eclipse 作为我的 C++ 项目的 IDE,我希望它告诉我给定符号的定义位置以及函数的参数是什么。

但是,有一个问题:我还使用Lazy C++,这是一个采用单个源文件并生成 .h 和 .cpp 文件的工具。这些 .lzz 文件看起来像头文件,但这个工具支持一些非常温和的语法优势,比如将嵌套的命名空间组合成一个限定名称。此外,它有一些特殊的标签来告诉工具具体放在哪里(在头文件或源文件中)。

所以我典型的 SourceFile.lzz 看起来像这样:

如您所见,它仍然是可识别的 C++,但有一些附加功能。

出于某种原因,CDT 的索引器似乎不想索引任何东西,我也不知道出了什么问题。在索引器视图中,它向我显示了一棵空树,但告诉我它有大约 15000 个符号和更多内容,我似乎无法访问这些内容。

所以这是我的问题:我怎样才能让索引器输出更多关于它正在做什么以及为什么它会失败的信息,我可以调整它而不只是使用 GUI 可访问的选项吗?

谢谢,

卡尔

0 投票
7 回答
48052 浏览

c# - 静态索引器?

为什么在 C# 中不允许使用静态索引器?我认为没有理由不应该允许它们,而且它们可能非常有用。

例如:

上面的代码将从静态索引器中受益匪浅。但是它不会编译,因为不允许使用静态索引器。为什么会这样?

0 投票
4 回答
154018 浏览

c# - 如何在 C# 中重载 [] 运算符

我想在一个类中添加一个运算符。我目前有一种GetValue()方法,我想用[]运算符替换。

0 投票
8 回答
17801 浏览

c# - C# 多索引器

是否有可能有以下内容:

如果没有,那么我可以通过哪些方式实现这一目标?我知道我可以制作名为 getFoo(int i) 和 getBar(int i) 的函数,但我希望用属性来做到这一点。

0 投票
1 回答
906 浏览

vb.net - 如何使用索引中的字段来删除条目?

我正在使用 Lucene.NET 在 VB 9 中开发桌面搜索引擎

我希望删除并为更新的文件创建一个新条目。

索引存储完整的文件路径和最后修改日期。

我正在使用 IndexReader 检查索引中是否存在文件(以避免重新索引相同的文件)。

我有以下疑问:

  1. 如何使用modified字段中的值来检查特定文件的索引条目是否旧?IndexReader 的什么功能可以让我这样做?

  2. 如何获取函数 deleteDocument() 的文档编号 (docNum)

0 投票
2 回答
8130 浏览

c# - 索引器的扩展方法,它们会好吗?

索引器的扩展方法,它们会好吗?

我正在玩一些重新水合 POCO 的代码。

代码围绕从 SqlDataReader 返回的行进行迭代,并使用反射从列值中分配属性。在我的调用堆栈中,我有一个这样的代码:-

Set 方法被编写为扩展方法。

能写出这样的代码就好了

即我想为索引器写一个扩展方法

.Net 没有索引器的扩展方法有充分的理由吗?其他人对扩展方法索引器有其他好的用途吗?

顺便说一句……如果我们可以为索引器编写扩展方法,那么我们可以编写这样的代码……</p>

我的代码中的一些片段

0 投票
4 回答
12873 浏览

c# - 索引器属性的 PropertyChanged

我有一个带有索引器属性的类,带有一个字符串键:

我使用索引器表示法绑定到 WPF 中此类的一个实例:

这很好用,但我想PropertyChanged在索引器值之一发生变化时引发一个事件。我尝试使用“[keyname]”的属性名称来提升它(即在键名周围包含[]),但这似乎不起作用。我的输出窗口中没有任何绑定错误。

我不能使用 CollectionChangedEvent,因为索引不是基于整数的。从技术上讲,该对象无论如何都不是一个集合。

我可以做到这一点,那么,怎么做?

0 投票
4 回答
576 浏览

c# - C# Indexer 内存问题

我在 main 方法中有以下代码:

在呈现的代码中,rects[1] 保持不变。这是因为 indexer(仍然是一种特殊方法)返回了矩形结构的副本。在这种情况下,元素位于heap上。索引器通过将新副本放在堆栈上返回元素的新副本(因为 Rectangle 是值类型)。

到现在为止还挺好...

后来我在 Program 类中创建了一个 Rectangle 结构数组:

在主要方法中:

我希望 rect 数组的索引器也返回矩形结构的副本,但是这次更改了原始元素(也位于堆上)。

这是为什么?数组索引器是否以不同的方式工作?

亲切的问候 PK

0 投票
3 回答
1302 浏览

c# - 关于索引器和/或泛型的问题

怎么可能知道一个对象是否实现了索引器?,我需要为 DataRow 和 IDataReader 共享一个逻辑,但它们不共享任何接口。

我也尝试过使用泛型,但不知道应该对 where 子句施加什么限制。

0 投票
3 回答
5929 浏览

c++-cli - C++/CLI:实现 IList 和 IList(默认索引器的显式实现)

我正在尝试实现一个同时实现IList和的 C++/CLI 类IList<T>

由于它们有重叠的名称,我必须显式地实现其中一个,自然选择应该是 IList。

索引器的隐式实现是:

我现在正在尝试为 IList 声明默认索引器。

我的猜测是这样的:

但这只是给了我

错误 C2061:语法错误:标识符“默认”

有什么提示吗?