繁体   English   中英

在WPF C#项目中使用另一个类

[英]Using another class in WPF C# Project

如何在MainClass中创建另一个类的对象。

namespace WpfApplication1
{
    public partial class MainWindow : Window
    {


        public MainWindow()
        {

            InitializeComponent();

        }

        myClass obj = new myClass();
        //obj.Show(); //not possible!!


    }

    public partial class myClass
    {
        void Show()
        {

        }
    }

}

现在,在此项目中,我无法使用“ obj”对象访问Show()方法。 如何在该项目中访问另一个类的方法?

您必须将Show声明为公共无效对象,才能访问该方法。

namespace WpfApplication1
{
    public partial class MainWindow : Window
    {


        public MainWindow()
        {

            InitializeComponent();
            obj.Show(); //and must be inside of a method, function or constructor.

        }

        myClass obj = new myClass();
        //obj.Show(); //not possible beacause is not a public method.!!


    }

    public partial class myClass
    {
        //public method.
        public void Show()
        {

        }
    }

}

阅读您的评论后,我了解您是WPF的新手,并将某些概念与控制台应用程序混淆了。

在控制台应用程序中, Main方法充当入口点,并且该方法中的所有内容均按从上到下的顺序执行,除非进行了某些函数调用。 考虑以下示例。

Static void Main(string[] args)
{
   myClass obj = new myClass();
   obj.Show();
}

该代码有效,因为在启动控制台应用程序时,它从上到下执行。 我的意思是,它创建了一个myClass对象并调用Show方法,但是在WPF中却有所不同。 Main一样立即执行的唯一方法是MainWindow Constructor。 除非它们是属性,否则不会自动执行构造函数之后的代码,就像控制台应用程序一样。 我的意思是以下代码在控制台应用程序中无法正常工作。

Static void Main(string[] args)
{
   myClass obj = new myClass();
}
obj.Show();

这是因为Show方法在Main方法的外部被调用,并且程序不知道如何处理它。 同样在WPF中,您必须在构造函数中调用Show方法。

  public MainWindow()
  {
    InitializeComponent();
    obj.Show();
  }

在WPF中,有许多方法可以调用Show方法,而上述方法只是其中之一。 逻辑控制台应用程序和WPF应用程序的逻辑同时相似且不同。 我建议您阅读一些有关WPF的文章或书籍,以解决问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM