可能重复:
Inline functions in C#?
在c ++中我们可以强制function inlining。
这也可以在c#中使用吗?有时,当方法很小时,它会自动内联。但是有可能强制在c#/ .Net中内联函数吗?
答案 0 :(得分:59)
排序。您无法直接控制 on 。它从未在IL中内联 - 它只由JIT完成。
您可以使用MethodImplAttribute
明确强制方法不内联
[MethodImpl(MethodImplOptions.NoInlining)]
public void Foo() { ... }
从.NET 4.5开始,您还可以进行“请求”内联:
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void Foo() { ... }
...但你不能强迫它。 (在.NET 4.5之前,该枚举值不存在。例如,请参阅.NET 4 documentation。)