从Windows Workflow Activity引用内部类

时间:2010-05-19 06:06:55

标签: xaml workflow-foundation tfs2010 workflow-activity

我正在创建一个自定义Workflow活动,以便在TFS2010中使用。在同一个程序集中,我有一个XAML活动和一个C#代码活动。 XAML活动引用代码活动。

将程序集部署到我们的客户端时,我只希望它们能够使用Workflow活动。代码活动本身很少使用,毫无疑问会混淆它们。

我认为这样做的逻辑方法是将代码活动类设置为internal:XAML位于同一个程序集中,并且应该能够访问它。但是,当我这样做时,我在XAML中收到错误,说明在程序集中找不到该类型。

有没有办法让活动内部/隐藏?

1 个答案:

答案 0 :(得分:1)

这是XAML所有形式的常见问题。这是因为(在其中一条评论中提到)解析器不在同一个程序集中,因此无法访问程序集的内部。

我最常见的解决方法就是将您想要的内容分离到自己的命名空间中。至少那时你的消费者通常不会被他们不需要使用的混淆类型所困扰。在WPF中,此命名空间通常是附加了“.Primitives”的主命名空间。例如System.Windows.Controls.Primitives。

您可以调查的另一个方法是使用自定义NativeActivity而不是XAML。据推测,这可能会使用内部类,因为不涉及XAML解析器。我没有测试过这个。