我想要改变方括号运算符的行为。现在我的问题是是否有可能做到这一点。
我知道我可以使用类似以下代码创建一个String的扩展方法:
public static class StringExtension
{
public static char Substring(this string value, int position)
{
//do something
}
}
但是我该如何重载方括号运算符呢? 以下方式行不通:
public static class StringExtension
{
public static char this[this string value, int position]
{
//do something
}
}
如何完成这项任务?或者说这是否可能实现?
var c = "hello world"[0];
会返回类型为char的'h'。 - Jürgen Röhr