我在写一个ExceptionFactory类,使用System.Diagnostics.StackTrace
。是否可以从堆栈跟踪中获取实际类型?
var trace = new StackTrace(1, true);
var frames = trace.GetFrames();
var method = frames[0].GetMethod();
现在,班
class Base
{
public void Foo()
{
//Call ExceptionFactory from here
}
}
class A : Base {}
//...
var x = new A();
x.Foo();
method.DeclaringType
将返回typeof(Base)
。但是,我需要typeof(A)
。有可能得到某种方式吗?
3210也不起作用。
究竟是一个ExceptionFactory? – 2011-01-31 12:20:03
它基于调用的地方(例如:模块,调用类型的自定义属性等)来参数化自定义异常 - 这就是为什么我需要实际类型,所以我可以查询类A的属性而不是类Base – TDaver 2011-01-31 12:24:30
为什么ReflectedType不起作用?它返回什么? – Vlad 2011-01-31 12:25:57