2015-07-10 136 views
1

如何在MainClass中創建另一個類的對象。在WPF中使用另一個類C#項目

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()方法。我如何在這個項目中訪問另一個類的方法?

+0

你真正想做什麼?,你只是在'MainWindow'中創建'myClass'類型的實例。但你真的想要什麼? –

+0

我想在MainWindow類中調用Show()方法。 –

+0

對不起,我是WPF的新手。在控制檯應用程序中,我們可以使用實例從另一個類調用一個類的方法。但在WPF中,我無法做到這一點。 –

回答

2

您必須聲明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() 
     { 

     } 
    } 

} 
+0

男人,我完全超越了這個...... :) – Taegost

1

閱讀您的評論後,我瞭解到您是新的WPF,並將某些概念與控制檯應用程序混淆。

在控制檯應用程序中,Main方法充當入口點,除非進行某些函數調用,否則方法中的所有內容都按從上到下的順序執行。考慮下面的例子。

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

此代碼是有效的,因爲當控制檯應用程序啓動時,它執行從上到下。我的意思是它創建一個myClass對象並調用Show方法,但在WPF中它是不同的。像Main立即執行的唯一方法是MainWindow構造函數。構造函數之後的代碼不是自動執行的,除非它們是屬性,就像控制檯應用程序一樣。我的意思是下面的代碼在控制檯應用程序中不能正常工作。

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

這是因爲顯示方法被調用出來的Main方法的側面和程序不知道該怎麼辦。同樣在WPF中,你必須在構造函數中調用Show方法。

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

有許多方法可以在WPF中調用Show方法,上面提到的方法只是其中之一。 WPF應用程序的邏輯控制檯應用程序和邏輯同時相似且不同。我建議你閱讀一些關於WPF的文章或書籍來解決問題。

+0

感謝男人.. :) –

相關問題