.NET 的大部分代码库都包含 throw 帮助程序,静态方法仅用于抛出某个异常。如果我没记错的话,这是因为直接抛出的方法永远不会内联(大概是为了产生足够的堆栈跟踪)。通过将throw
语句移动到辅助方法中,主要方法成为内联的候选方法。
这也适用于静态本地函数吗?或者这些是否也有任何阻止内联的特征?
我在任何地方都找不到这个。我的理论是静态局部函数被编译为常规静态方法,因此在内联时应该没有不同的特征。不过,最好确定一下。如果我们跳过篮球,它最好有预期的效果。
.NET 的大部分代码库都包含 throw 帮助程序,静态方法仅用于抛出某个异常。如果我没记错的话,这是因为直接抛出的方法永远不会内联(大概是为了产生足够的堆栈跟踪)。通过将throw
语句移动到辅助方法中,主要方法成为内联的候选方法。
这也适用于静态本地函数吗?或者这些是否也有任何阻止内联的特征?
我在任何地方都找不到这个。我的理论是静态局部函数被编译为常规静态方法,因此在内联时应该没有不同的特征。不过,最好确定一下。如果我们跳过篮球,它最好有预期的效果。