在调试会话中,对于我来说,识别特定实例的调试信息中的实际派生类名称非常重要。
我尝试使用this.GetType().Name
,但这只返回base
类的类型。
有没有一种简单的方法可以从基类中获取派生类的类型?
在调试会话中,对于我来说,识别特定实例的调试信息中的实际派生类名称非常重要。
我尝试使用this.GetType().Name
,但这只返回base
类的类型。
有没有一种简单的方法可以从基类中获取派生类的类型?
this.GetType().Name
应该可以正常工作。我认为在您的情况下,可能没有派生类。如果它返回基类名称,则不应具有派生类。
在以下情况下使用此方法:
this.GetType().Name
总是返回当前执行类型的名称,而不是编写它的代码的类型。但你可以使用 Debugger.Break()
来以有条件的方式模拟断点:
if (this.GetType().Name == "Problematic type")
System.Diagnostics.Debugger.Break();
即时窗口
,输入有关该实例的this.GetType().Name
并按Enter,将显示出来。GetType
的Name
属性,并实时确定异常是什么。
在引发事件时,请确保将真实的发送者传递给发送者属性。监听类中的发送者对象应正确指向引发事件的子类。