呼び出しメソッドのパラメータ値を取得するには?
クラス A とクラス B の 2 つのクラス (クラス A 内) と mthB (クラス B 内) の 2 つのメソッドを含むシナリオがあります。mthA が mthB を呼び出します。ここで、すべてのパラメーターが mthA に渡されたことを mthB で知りたいと思います。これは基本的に、例外のロギングと処理のためのものです。呼び出し元のクラス、つまりクラス A のクラス名と、mthB、つまり mthA を呼び出しているメソッド名を取得できます。しかし、私はmthAのパラメータを取得することに行き詰まっています。
Thread.currentThread().getStackTrace()[1].getClassName()
これにより、呼び出しメソッドのクラス名、つまりクラス A が得られます。
Thread.currentThread().getStackTrace()[2].getMethodName()
これにより、呼び出しメソッドのメソッド名、つまり mthA が得られます。
どうにかしてメソッド全体を取得できれば、getParameters() を使用して、このメソッドに渡されるメソッド パラメータを取得できます。