- PR -

[ASP.NET] 実行関数内で呼び元の関数名を取得

1
投稿者投稿内容
KIMERA
大ベテラン
会議室デビュー日: 2003/02/28
投稿数: 112
お住まい・勤務地: 兵庫県・大阪府
投稿日時: 2005-01-27 15:16
お世話になっています。

VB.NETにてASP.NETアプリを開発中です。

以前、下記のような質問をし、
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=7269&forum=7

クラス名の取得まではできたのですが、実行されている関数名までは取得ができませんでした。
上記質問のレスにあるよう、Assemblyクラスを調べてみましたが有用な情報は得られませんでした。

やろうとしていることは、

AクラスのAAA関数内でBクラスのBBB関数をコール。

B関数内で呼び元の関数(AクラスのAAA関数)名を取得。

というわけなのですが、Aクラス内でAAA関数の関数名をとることさえもできていません。
自分のクラスで作っている自分の関数なんで、どこかで取れるんでしょうが
なかなか見当たりません。
今までは「me」だとか「sender」「e」などの中身を調べていました。

BBB関数から呼び元を取得するか、Aクラスで自分のAAA関数の名前を取得して、BBB関数に渡すか、どちらの方法でもいいのですが、
何かアドバイスをいただければと思います。

よろしくお願いします。
Hongliang
ぬし
会議室デビュー日: 2004/12/25
投稿数: 576
投稿日時: 2005-01-27 15:47
System.Diagnostics.StackTraceクラスで行けるんではないでしょうか。
todo
ぬし
会議室デビュー日: 2003/07/23
投稿数: 682
投稿日時: 2005-01-27 15:53
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?forum=7&topic=17511
KIMERA
大ベテラン
会議室デビュー日: 2003/02/28
投稿数: 112
お住まい・勤務地: 兵庫県・大阪府
投稿日時: 2005-01-27 15:59
>Hongliangさん
>todoさん

ありがとうございます。
ちょうどStackクラスを調べていました。

実行中の関数内であればこれで取得はできるのですね。
どうもありがとうございます。

あとはこれを呼び元のものを取得できるかどうか・・・
もう少し調べてみたいと思います。
KIMERA
大ベテラン
会議室デビュー日: 2003/02/28
投稿数: 112
お住まい・勤務地: 兵庫県・大阪府
投稿日時: 2005-01-27 16:18
自己解決です。
失礼いたしました。

よく調べていませんでした。
GetFrameで順番にとれるのですね。

参考になりました。
ありがとうございます。
1

スキルアップ/キャリアアップ(JOB@IT)