Visual Studio 2008: наследование форм и неполадки с загрузкой - PullRequest
2 голосов
/ 03 февраля 2010

Учитывая следующее дерево наследования:

У меня есть

public class BaseForm : Form

Это базовая форма для всех WinForms в проекте (или большинства) и содержит некоторые базовые элементы.

Позже, когда появились Generics, я создал

public abstract partial class GenericObjectListBase<T> : BaseForm

И, наконец, я специализировал этот с:

public partial class MySpecialList : GenericObjectListBase<MySpeciaType>

Все это работает, но дизайнер не работает в последнем «MySpecialList».

Я прочитал этот вопрос и ответ , но я не совсем уверен, как это относится ко мне, учитывая, что я пытаюсь увидеть «неуниверсальный» класс (MySPecialList). В любом случае ошибка, которую я получаю, одинакова.

Невозможно отобразить конструктор для этого файла, поскольку ни один из классов внутри него не может быть спроектирован ... бла бла бла (см. Другой вопрос, чтобы увидеть ошибку).

Зная, что есть какое-то «известное ограничение», есть ли у вас «известный обходной путь»?

1 Ответ

3 голосов
/ 03 февраля 2010

Это известная проблема.Конструктор VS не позволит иметь абстрактный класс в середине дерева наследования.

К сожалению, так оно и есть.Лучший вариант - сделать GenericObjectListBase конкретным классом.

...