Resharper提供从WPF中删除Window类的冗余继承

时间:2011-03-25 18:41:49

标签: c# wpf inheritance window resharper

在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的书中读到的那样,任何窗口都应该继承......

2 个答案:

答案 0 :(得分:10)

XAML代码隐藏文件是部分类。编译器从XAML文件生成的代码还包括Window派生,因此代码隐藏中的代码是冗余的。

答案 1 :(得分:3)

您的MainWindow类(与大多数设计器生成的类一样)是partial类。这意味着您的类的实现可以分解为多个文件,只要它们都在同一个程序集中。

由于MainWindow的设计器生成的文件也包含: Window,因此不必将其包含在任何其他文件中。