Resharper предлагает удалить избыточное наследование из класса Window в WPF - PullRequest
2 голосов
/ 25 марта 2011

В проектах 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 ]

10 голосов
/ 25 марта 2011

Файлы кода XAML являются частичными классами. Код, сгенерированный компилятором из файла XAML, также включает в себя деривацию Window, поэтому код в выделенном коде является избыточным.

3 голосов
/ 25 марта 2011

Ваш класс MainWindow (как и большинство классов, созданных дизайнером) является классом partial. Это означает, что реализацию вашего класса можно разбить на несколько файлов, если они находятся в одной сборке.

Поскольку файл, созданный дизайнером для MainWindow, также содержит : Window, включать его в другие файлы не обязательно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...