C# Microsoft.NET核心库的某些部分是否隐藏在.dll文件中?

C# Microsoft.NET核心库的某些部分是否隐藏在.dll文件中?,c#,cil,C#,Cil,当我查看mscorlib.dll中的一些方法时,它们似乎是空的 我正在阅读有关MSIL的文章,并在VisualStudio中使用IL DASM查看一些类方法。出于好奇,我探究了一些数学课堂方法,发现其中一些是空的 下面是Math.ABS()中的代码 下面是Math.Sin()中的代码 我怀疑它与System.Security.SecuritySafeCriticalAttribute构造函数有关,但我不确定即使在阅读了上面的MSDN页面后,它会做什么,或者为什么会隐藏IL代码 有人对我所看到的有

当我查看mscorlib.dll中的一些方法时,它们似乎是空的

我正在阅读有关MSIL的文章,并在VisualStudio中使用IL DASM查看一些类方法。出于好奇,我探究了一些数学课堂方法,发现其中一些是空的

下面是Math.ABS()中的代码

下面是Math.Sin()中的代码

我怀疑它与System.Security.SecuritySafeCriticalAttribute构造函数有关,但我不确定即使在阅读了上面的MSDN页面后,它会做什么,或者为什么会隐藏IL代码

有人对我所看到的有什么见解吗


感谢您的帮助。

internalcall表示该方法是由CLR直接实现的,而不是在IL中实现的。

啊,这很有意义。我没有看到。非常感谢。那么,我将进一步研究这个问题。是开始寻找
InternalCall
实现的地方。
.method public hidebysig static int32  Abs(int32 'value') cil managed
{
  .custom instance void __DynamicallyInvokableAttribute::.ctor() = ( 01 00 00 00 ) 
  // Code size       13 (0xd)
  .maxstack  8
  IL_0000:  ldarg.0
  IL_0001:  ldc.i4.0
  IL_0002:  blt.s      IL_0006
  IL_0004:  ldarg.0
  IL_0005:  ret
  IL_0006:  ldarg.0
  IL_0007:  call       int32 System.Math::AbsHelper(int32)
  IL_000c:  ret
} // end of method Math::Abs
.method public hidebysig static float64  Sin(float64 a) cil managed internalcall
{
  .custom instance void System.Security.SecuritySafeCriticalAttribute::.ctor() = ( 01 00 00 00 ) 
  .custom instance void __DynamicallyInvokableAttribute::.ctor() = ( 01 00 00 00 ) 
} // end of method Math::Sin