这取决于抛出异常的方式.如果使用throw语句然后没有问题,则抖动不会内联包含throw的
方法.当你需要一个
属性设置器
快速顺便说一下时要注意的事情.
但是,如果异常是由正常执行引起的,如NullReferenceException或IndexOutOfRangeException等,那么是,如果内联的话,您在堆栈跟踪上看不到该方法的名称.这可能有点令人困惑,但您通常会从调用方法的源代码和异常类型中弄清楚它.希望它相对较小. [MethodImpl(MethodImplOptions.NoInlining)]属性可用于禁止内联.当你发现它会有所帮助时,通常为时已晚;)