Ссылка на внутренний класс из Windows Workflow Activity - PullRequest
2 голосов
/ 19 мая 2010

Я создаю настраиваемое действие Workflow для использования в TFS2010. В той же сборке у меня есть активность XAML и код C #. Действие XAML ссылается на действие кода.

Когда сборка развернута на наших клиентах, я только хочу, чтобы они могли использовать действие Workflow. Кодовая деятельность сама по себе мало полезна и, несомненно, запутает их.

Я подумал, что логичный способ сделать это - установить класс активности кода во внутренний: XAML находится в той же сборке и должен иметь доступ к нему. Однако, когда я делаю это, я получаю сообщение об ошибке в XAML о том, что тип не может быть найден в сборке.

Есть ли способ сделать действия внутренними / скрытыми?

1 Ответ

1 голос
/ 22 мая 2012

Это общая проблема с XAML во всех его формах. Это вызвано тем фактом (упомянутым в одном из комментариев), что анализатор не находится в одной сборке, поэтому не имеет доступа к внутренним компонентам вашей сборки.

Обходной путь, который я видел чаще всего, - это просто выделить то, что вы хотели бы иметь как внутреннее, в собственное пространство имен. По крайней мере, тогда ваших потребителей обычно не беспокоят запутанные типы, которые им не нужны. В WPF это пространство имен обычно является основным пространством имен с добавленным к нему «.Primitives». например System.Windows.Controls.Primitives.

Другой способ, который вы могли бы исследовать, - использовать пользовательскую NativeActivity, а не XAML. Предположительно, для этого могут использоваться внутренние классы, поскольку синтаксический анализатор XAML не задействован. Я не проверял это все же.

...