我倾向于(回到c++时代)向小方法添加内联提示,例如:
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void Add(this IProject @this, IComponent component)
{
@this.Components.Add(component);
}
我想知道静态类扩展方法一开始是否可以内联?
静态方法可以内联。有关如何检查方法是否内联的信息,请参阅此处。扩展方法与普通的静态方法没有什么不同;在IL中,它们只是用System.Runtime.CompilerServices.ExtensionAttribute
进行装饰,因此JIT将对它们进行相同的处理。