【发布时间】:2017-09-27 14:42:08
【问题描述】:
我有一个名为 LogException 的 Visual Basic 方法,它在 TRY..CATCH 失败时将信息写入我的异常数据库。该方法具有以下参数:
- 方法位置;
- 方法名;
- 异常;
当我调用该方法时,我会使用以下代码:
_ex.LogException(
Me.GetType.Name.ToString,
MB.GetCurrentMethod.Name.ToString,
ex.Message.ToString)
因此,如果我在名为“Test”的类中的名为“Insert_Test”的方法中调用此代码,我希望第一个参数接收“Test”,第二个参数接收“Insert_Test”,第三个参数接收抛出的异常的确切细节。
只要“测试”类是基类,这一切都可以正常工作。如果“Test”类是子类(例如称为“BigTest”),前两个参数仍将作为“Test”和“Insert_Test”传递。我需要知道的是如何获得确切的类树,以便这种情况下的第一个参数将作为“BigTest.Test”出现。
理想情况下,我希望能够做到这一点,而不必将任何值硬编码到我的代码中,以便可以“按原样”重复使用代码。
【问题讨论】:
-
我正在使用嵌套类 - 我尝试将继承用于其他目的,但无法使其工作。