在WPF项目中,Resharper提供了从Window
类继承的冗余:
using System.Windows;
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
}
甚至可以删除using System.Windows;
。
public partial class MainWindow
{
public MainWindow()
{
InitializeComponent();
}
}
为什么他实际上提供这个以及为什么没有继承一切正常?正如我在WPF的书中读到的那样,任何窗口都应该继承......
答案 0 :(得分:10)
XAML代码隐藏文件是部分类。编译器从XAML文件生成的代码还包括Window派生,因此代码隐藏中的代码是冗余的。
答案 1 :(得分:3)
您的MainWindow
类(与大多数设计器生成的类一样)是partial
类。这意味着您的类的实现可以分解为多个文件,只要它们都在同一个程序集中。
由于MainWindow
的设计器生成的文件也包含: Window
,因此不必将其包含在任何其他文件中。