假設有兩個類別,主類別MainWindow、子類別Window1

當主類別要使用子類別的方法比較不會有問題

方法很簡單如下:

Window1 win1= new Window1();


當子類別要使用主類別時要特別注意,

使用方法跟上面一樣

MainWindow main=new MainWindow();


如發生下面錯誤

未命名  


請檢查你 new 宣告的地方是否錯誤,主類別宣告new Window1() 不能在 new MainWindow() 之前執行。


以下為錯誤的宣告地方

主類別

public partial class MainWindow : Window
{
    public MainWindow()
   {
    InitializeComponent();
    }


   Window1 win1 = new Window1();

   private void button_Click(object sender, RoutedEventArgs e) 
  {

   }

}

 

子類別

public partial class Window1 : Window
{
    public MainWindow()
   {
    InitializeComponent();
    }


   MainWindow main = new MainWindow();

   private void button_Click(object sender, RoutedEventArgs e) 
  {

   }

}

因為程式一開始就跑到子類別執行,會導致無窮迴圈的情況所以會出錯。


正確應該要宣告在裡面 如下

 

主類別

 

public partial class MainWindow : Window
{
    public MainWindow()
   {
    InitializeComponent();
    }

   private void button_Click(object sender, RoutedEventArgs e) 
  {
     Window1 win1 = new Window1();

   }

}

 

 

子類別

public partial class Window1 : Window
{
    public MainWindow()
   {
    InitializeComponent();
    }

   MainWindow main = new MainWindow();

   private void button_Click(object sender, RoutedEventArgs e) 
  {

   }

}


arrow
arrow
    全站熱搜

    東勢厝滴yang 發表在 痞客邦 留言(0) 人氣()