次の質問の回答とコメントは、矛盾する情報を提供します。メソッドでSystem.Reflection.MethodBase.GetCurrentMethod()を使用すると、JITコンパイラがメソッドをインライン展開できないのですか?
How to get the name of the current method from code
Can you use reflection to find the name of the currently executing method?
それは同様にドキュメントに記載されていません。
https://msdn.microsoft.com/en-us/library/system.reflection.methodbase.getcurrentmethod.aspx
私はそれがおそらくインライン展開を妨げないことに同意しますが、私の経験では、メソッドがインライン展開に適格にならないようにするために複雑なコードを必要としないので、GetCurrentMethodそれでもインライン化される可能性は非常に低いでしょう。 'CallerMemberNameAttribute'は、メソッドがインライン化されている場合には、コードが書き込まれたメソッド/メンバーを参照するという点でも正しいでしょう。 –
メソッドがインライン化されないと仮定すると、デバッガに表示されない生産エラーを追跡するのが難しいものが得られます –
仮定に頼ることはできません。私の経験では、メソッドに追加する「複雑な」コードほど、インライン化する必要がない可能性が低いため、メソッドがインラインになる可能性は低いと思われます。インラインヒューリスティックは、私の経験では単純な方法を好む。 –