gpt4 book ai didi

c# - 如何重载 C# 中的方括号运算符?

转载 作者:IT王子 更新时间:2023-10-29 03:29:03 41 4
gpt4 key购买 nike

例如,DataGridView 让您可以这样做:

DataGridView dgv = ...;
DataGridViewCell cell = dgv[1,5];

但我终究找不到关于索引/方括号运算符的文档。他们怎么调用它?它在哪里实现?能扔吗?我怎样才能在自己的类里面做同样的事情?

ETA:感谢您的快速回答。简而言之:相关文档在“Item”属性下;重载的方法是声明一个属性,如 public object this[int x, int y]{ get{...};设置{...} } ;至少根据文档,DataGridView 的索引器不会抛出异常。它没有提到如果您提供无效坐标会发生什么。

再次预计到达时间:好的,即使文档没有提及它(顽皮的微软!),事实证明,如果您为其提供无效坐标,DataGridView 的索引器实际上会抛出 ArgumentOutOfRangeException。公平警告。

最佳答案

您可以找到操作方法 here .简而言之就是:

public object this[int i]
{
get { return InnerList[i]; }
set { InnerList[i] = value; }
}

如果你只需要一个getter answer below中的语法也可以使用(从 C# 6 开始)。

关于c# - 如何重载 C# 中的方括号运算符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/287928/

41 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com