当应用程序运行时,C#Main Form对象为null

问题描述

我已经创建了2个应用程序1个WinForms和1个控制台应用程序,并且我试图使用控制台应用程序在WinForms应用程序中调用一个方法,但是由于某种原因主表单对象为null。

Winforms应用程序:

     namespace ABC
     {
        public class WinFormsApp
        {
            public static WinFormsApp instance = null;
            public WinFormsApp()
            {
                 instance = this;
                 InitializeComponent();
            }
        }
        public static class BridgeClass
        {
            public static void Demo()
            {
                string msg = "no";
                if (WinFormsApp.instance != null)
                     msg = "yes";
                System.Windows.Forms.MessageBox.Show(msg);
             }
        }
    }

控制台应用程序:

    public static void Main()
    {
        Assembly SampleAssembly = Assembly.LoadFrom("ABC.exe");
        MethodInfo Method = SampleAssembly.GetType("ABC.BridgeClass").GetMethod("Demo");
        if (Method != null)
        {
            Method.Invoke(null,null);  
        }
    }

当控制台应用程序调用Winforms方法时,弹出消息不显示任何信息,但我已经使用断点检查了实例变量是否已正确初始化。

注意:当从控制台应用程序调用Winforms应用程序时,应该使用main方法来运行它。

有人可以指出我在做什么错吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)