我在寫一個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