假設有兩個類別,主類別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)
{
}
}
留言列表