TRY..CATCHが失敗した場合に、例外データベースに情報を書き込むLogExceptionというVisual Basicメソッドがあります。その方法は、以下のパラメータを有する。Visual Basicでサブクラス名を取得する方法
- methodLocation;
- methodName;
- 例外。
Iメソッドを呼び出すと、私は次のコードを使用します。私が「テスト」と呼ばれるクラス内の「Insert_Test」と呼ばれる方法でこのコードを呼び出した場合、私は、したがって、
_ex.LogException(
Me.GetType.Name.ToString,
MB.GetCurrentMethod.Name.ToString,
ex.Message.ToString)
を最初のパラメータは "Test"を受け取り、2番目のパラメータは "Insert_Test"を受け取り、3番目のパラメータはスローされた例外から正確な詳細を受け取ると期待します。
"Test"クラスが基本クラスである限り、これはすべて正常に機能します。 "Test"クラスがサブクラス(例えば "BigTest"と呼ばれる)である場合、最初の2つのパラメータは引き続き "Test"と "Insert_Test"として渡されます。私が知る必要があるのは、正確なクラスツリーを取得する方法です。このシナリオの最初のパラメータは「BigTest.Test」となります。
理想的には、コードを自分のコードにハードコードすることなく、コードをそのまま使用できるようにすることが理想的です。
ありがとうございます。
私は、ネストされたクラスを使用しています - 私は別の目的のために継承を使用してみましたし、それを動作させることができませんでした。 –