簡體   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