Я пытаюсь расширить определенный класс (скажем, StackPanel WPF). Назовем это расширение MyGenericPanel. Я предполагаю, что его заявление должно быть:Как ограничить тип общего расширения
class MyGenericPanel : StackPanel
... Но если я хочу, это расширение для хранения переменной типа ссылки (скажем, T) декларация стала бы:
class MyGenericPanel<T> : StackPanel
А что, если я хочу ограничьте тип T идентифицируемым ... где Идентифицируемым является другой класс.
class MyGenericPanel<T> where T: Identifiable, StackPanel
жалуется, что StackPanel должен прийти первым ... если я ставлю
class MyGenericPanel<T> where T: StackPanel, Identifiable
компилятор жалуется Опознаваемая должны прийти до StackPanel.
Bottomline:
- MyGenericPanel расширяет StackPanel
- T является продолжением идентифицируемых
- MyGenericPanel не имеет определения XAML ... Это C# код только.
Как я могу это сделать? ... (или это может быть сделано?)
Все это становится гораздо яснее, когда вы просто всегда поставить общий тип ограничение на собственную линию. – Servy