Есть задача:
public interface ISomeInfo
{
public string SomeInfo{get;}
}
public class A : ISomeInfo
{
public override string SomeInfo
{
get {return "this is info about class A";}
}
public void MA()
{
}
}
public class B : ISomeInfo
{
public override string SomeInfo
{
get {return "this is info about class A";}
}
public void MB()
{
A a = new A();
a.MA();
}
}
main ()
{
StackTrace ST = new StackTrace( e );
foreach( int i = 0; i < ST.FrameCount; i++ )
{
StackFrame sf = ST.GetFrame( i );
MethodBase mb = sf.GetMethod();
Type ClassType = mb.ReflectedType;
IClassInfo info;
/* вот тут бы мне надо вытянуть обьект класса в котором вызвался метод mb */
if(null != info)
Console.Write("ClassName:"+ClassType.Name+" ClassInfo"+info.SomeInfo);
}
}
от такая вот штучка получается...
Но из сказанного выше мне это скорее всего не реализовать, посему прошу помощи, как бы это реализовать по другому...