2

TFS2010 内で使用するカスタム ワークフロー アクティビティを作成しています。同じアセンブリに、XAML アクティビティと C# コード アクティビティがあります。XAML アクティビティはコード アクティビティを参照します。

アセンブリがクライアントに展開されたら、ワークフロー アクティビティのみを使用できるようにしたいと考えています。コード活動はそれ自体ではほとんど役に立たず、間違いなく彼らを混乱させるでしょう.

これを行う論理的な方法は、コード アクティビティ クラスを internal に設定することだと思いました。XAML は同じアセンブリにあり、アクセスできるはずです。ただし、これを行うと、アセンブリに型が見つからないというエラーが XAML で表示されます。

アクティビティを内部/非表示にする方法はありますか?

4

1 に答える 1

1

これは、すべての形式のXAMLに共通の問題です。これは、パーサーが同じアセンブリにないため(コメントの1つに記載されています)、アセンブリの内部にアクセスできないことが原因です。

私が最も頻繁に見た回避策は、内部として必要なものを独自の名前空間に分離することです。少なくとも、消費者は通常、使用する必要のないタイプを混乱させることに悩まされることはありません。WPFでは、この名前空間は通常、「。Primitives」が追加されたメインの名前空間です。例:System.Windows.Controls.Primitives。

調査できるもう1つの方法は、XAMLではなくカスタムのNativeActivityを使用することです。XAMLパーサーが関与していないため、おそらくこれは内部クラスを使用する可能性があります。私はこれをテストしていません。

于 2012-05-22T13:54:38.250 に答える