2011-07-05 9 views
0

wf定義を作成するエンジニアが、コードを記述、コンパイル、デプロイすることなく、データ構造の作成/変換などの小さなコードブロックを書くことができるカスタムアクティビティを作成したいと考えていますそれぞれの活動。カスタムアクティビティのコードインライン

私のカスタムアクティビティのExecuteメソッドで実行するために、このコードをインラインで記述するために、ExpressionTextBoxの複数行またはコードエディタ(IntelliSenseを使用)を使用したカスタムアクティビティのようなものが必要です。

あなたは可能でしょうか?事前に

おかげで、

マルク・

答えて

0

これは可能ですか?おそらく。

経験のすべての部分を提供する必要があります。つまり、実行時にコンパイルされて実行されるスクリプト、UIでのこのアクティビティのコード編集エクスペリエンス、およびコード内のエラーを報告するコード検証機能の種類によって構成できるカスタムアクティビティを提供する必要があります。コードをユーザに提示する。

エディタでは、SharpDevelopにあるWPFコードエディタAvalonEditを使用できます。以前はそれを使用していませんでしたので、インテリセンスと検証作業を行うためには、どれだけの作業が必要かを教えていただけません。

実行時にCSharpCodeProviderを使用すると、コードをコンパイルして実行時に実行できます。 SkeetはSnippyアプリでこれを行います。you can get the source here.

これは可能です。多くの仕事と苦難の後。

私は、実行時のコーディングエクスペリエンスの原子コンポーネントを表すいくつかの小さなアクティビティを提供することをお勧めします。このアクティビティを使用すると、コードに書き込まれることが予想されるロジックをアセンブルできます。これはWFの精神の中でより多くです。

+0

あなたが言ったように私はCSharpCodeProviderを使ってコードをインラインでコンパイルして実行しています。しかし、本当に難しいのは、このコード内でワークフローの変数を使用する方法です。 –

+0

@MarcCanalsGiraut:SOはフォーラムではないことを覚えておいてください。この質問によってあなたが別の人につながる場合は、新しい質問をする必要があります。あなたの新しい質問については、次のコード行を考えてみましょう: 'Console.WriteLine(foo.Bar)'。 'foo'とは何ですか?そのコード行を含むメソッドの引数であっても、そのコード行を含むメソッドを含むクラスのフィールドであってもかまいません。どんなことでも、メソッドが実行するスコープ内で関心のある変数にコードがアクセスする手段を提供する必要があります。 – Will

0

あなたがこれを行うことはできません。 Wf4では、コード内のマークアップ、XAMLと実装の間に完全な分離があります。

関連する問題