Могу ли я наследовать один Activity Designer от другого в WF 4.0? - PullRequest
0 голосов
/ 02 ноября 2011

Я создал конструктор занятий в WF, и я хочу использовать его в качестве основы для других дизайнеров занятий.

Когда я пытаюсь это сделать, я получаю ошибку компилятора - все они являются частичными классами, и поэтому мне нужно изменить объявление базового класса во всех местах.

Рассматривая сгенерированный VS-код, я вижу, что все остальные конструкторы Activity наследуют от класса ActivityDesigner.

Есть ли способ получить один дизайнер деятельности из другого?

PS: Я не думаю, что это происходит потому, что обычно дизайнер действий связан с классом Activity с помощью атрибута "Designer".

1 Ответ

1 голос
/ 02 ноября 2011

Если у вас есть разработчик кода XAML +, базовый класс уже указан в XAML - это sap:ActivityDesigner (в первой строке). Поэтому, если вы предоставляете другой базовый класс в коде, вы делаете множественное наследование, и это не работает с C #. Попробуйте изменить корневой тег вашего XAML на что-то вроде этого:

<local:MyBaseActivityDesigner xmlns:local="[your local assembly and namespace]" xmlns:...>

Затем удалите базовый тип из кода.
Это установит свойство вашего дизайнера базового типа.

Конечно, есть загвоздка - вы должны определить базовый конструктор только в коде ! Конструктор кода XAML + нельзя использовать в качестве базовых типов.

...