C# · 12月 23, 2021

c# – 反编译.NET替换方法(v4.6.1)

我想看看怎么样 public String Replace(String oldValue,String newValue);

mscorlib.dll(System.String)中的方法有效.

我用dotPeek反编译了mscorlib.dll,并在方法内部调用了ReplaceInternal方法,我找不到它

string s = ReplaceInternal(oldValue,newValue);

我甚至在GIT的开源.NET Core上搜索了这个方法,但没有运气.

请解释这种方法在哪里以及里面是什么?

解决方法 外部C代码在这里.

https://github.com/gbarnett/shared-source-cli-2.0/blob/master/clr/src/vm/comstring.cpp

1578行有

FCIMPL3(Object*,COMString::ReplaceString,StringObject* thisRefUNSAFE,StringObject* oldValueUNSAFE,StringObject* newValueUNSAFE)