在System.String
中观察ILSpy
类我找到了以下索引器:
public extern char this[int index]
{
[__DynamicallyInvokable, SecuritySafeCritical]
[MethodImpl(MethodImplOptions.InternalCall)]
get;
}
这个索引器通过索引从字符串中取回char并限制其setter(我认为它是不可变的)。但这个吸气剂如何起作用? 它从哪里取消的字符?调试器如何自动实现此索引器getter?
答案 0 :(得分:6)
MethodImplOptions.InternalCall
个description个州:
调用是内部的,也就是说,它调用在公共语言运行库中实现的方法。
因此,如何实现getter取决于您使用的运行时(.NET 2.0,.NET 4.0,...),该实现不是包含System.String
的库的一部分。
如果您对如何在C#中实现此类方法感到好奇,可以查看