可以内联静态类扩展吗?

时间:2015-03-17 22:09:27

标签: c# .net clr jit

我倾向于(回到c ++天)为小方法添加内联提示,例如:

[MethodImpl(MethodImplOptions.AggressiveInlining)]
public static void Add(this IProject @this, IComponent component)
{
    @this.Components.Add(component);
}

我想知道是否可以首先内联静态类扩展方法?

1 个答案:

答案 0 :(得分:5)

可以内联静态方法。 See here有关如何检查方法是否内联的信息。扩展方法与普通静态方法没有区别;在IL中,它们只是用System.Runtime.CompilerServices.ExtensionAttribute装饰,因此JIT会对它们进行相同的处理。