是否有任何方法可以查看.NET框架中外部實現的方法的源代碼?.NET Framework外部方法源代碼
我知道Reference Source這是一個很好的資源,但.NET框架中的很多核心類是外部實現的(我假設用C++?)。
比如我在的階級String的內部工作很感興趣,但方法幾乎一半與extern關鍵字包括this[int index]
出現的字符串中實際持有的文字聲明。
從哪裏可以找到String.this[int index]
或String.nativeCompareOrdinalEx(String strA, int indexA, String strB, int indexB, int count)
和其他外部實現方法的源代碼?
另外,是否有一個特別的原因,爲什麼如此多的核心框架類是外部實現的?它是否可以利用現有的代碼或出於性能原因或其他原因?
你必須做一些挖掘在coreclr回購。例如,我相信'String.nativeCompareOrdinalEx'它被映射到'COMString :: CompareOrdinalEx' found [here](https://github.com/dotnet/coreclr/blob/bc146608854d1db9cdbcc0b08029a87754e12b49/src/classlibnative/bcltype/stringnative.cpp )。看看[外部調用列表](https://github.com/dotnet/coreclr/blob/419629fdc3e51c6c28467bf1b57b7fcd80dc8360/src/vm/ecalllist.h)並嘗試找到函數映射。 –
@mikez外部呼叫列表非常有幫助,正是我所期待的。任何想法'String.this [int index]'的映射? –
@JacobSchneider它可能是'FCIntrinsic(「get_Chars」,COMString :: GetCharAt,CORINFO_INTRINSIC_StringGetChar)''但這只是一個猜測。 –