如何检测哪个类尝试生成当前类的实例

时间:2015-04-08 09:34:40

标签: c# .net

我不知道如何实现跟随逻辑。

假设我们有class form1和class form2。此外,我们有类Panel,我们希望在Panel类中实现以下逻辑:

if form1 is calling Panel
{
   Panel.Size = Size1;
}  
else if form2 is calling Panel
{
   Panel.Size = Size2;
}

提前感谢您的帮助......

1 个答案:

答案 0 :(得分:1)

这将打印您调用类的类型,您可能需要配置帧编号,但这为您提供了基本的想法:

public static void PrintCallerClassType()
{
    var stackTrace = new StackTrace(new StackFrame(1));
    var frame = stackTrace.GetFrame(0);
    Console.WriteLine(frame.GetMethod().DeclaringType);
}