String索引器如何工作?

时间:2014-01-08 10:38:49

标签: c#

System.String中观察ILSpy类我找到了以下索引器:

public extern char this[int index]
{
   [__DynamicallyInvokable, SecuritySafeCritical]
   [MethodImpl(MethodImplOptions.InternalCall)]
   get;
}

这个索引器通过索引从字符串中取回char并限制其setter(我认为它是不可变的)。但这个吸气剂如何起作用? 它从哪里取消的字符?调试器如何自动实现此索引器getter?

1 个答案:

答案 0 :(得分:6)

MethodImplOptions.InternalCalldescription个州:

  

调用是内部的,也就是说,它调用在公共语言运行库中实现的方法。

因此,如何实现getter取决于您使用的运行时(.NET 2.0,.NET 4.0,...),该实现不是包含System.String的库的一部分。

如果您对如何在C#中实现此类方法感到好奇,可以查看