2012-01-25 5 views
2

私はadd-inを既存のアプリケーションに書く必要があります。クライアントはアプリケーションとアドインを使用します。アプリケーションとadd-inは両方ともユーザーのための黒いボックスです。私のアドインは.Net C# dllで、ユーザーはC#でコードを書くことができます。これを処理する標準的な方法や設計パターンはありますか?

これで、ユーザーがC#コードを書くことができるメカニズムを提供する必要があります。そのコードは、アドインで必要なデータを取得するために、実行時にadd-inによってロードされ、実行されます。ただ、もう少しをクリアするには、この

編集

を達成するためのベストプラクティスは何

...

私のアドインで、実行時に、私は文字列を取得

今、私はいくつかのユーザー関数に

string resultString = UserFunction("SomeString");を呼び出したい

今、私は、実行時にそれを呼び出すとEr..thisは特にそれならば...少しtricksy取得SomeString

+0

MAFとMAFの両方をご覧ください。この質問はあなたを助けるはずです:http://stackoverflow.com/questions/835182/choosing-between-mef-and-maf-system-addin –

答えて

3

に基づいてバックresultStringを得ることができるように、ユーザーがこのUserFunctionを書くことができるようにする方法を知りたいですあなたが質問を表現する方法とまったく同じように起こらなければならない。

あなたはdllの関数にテキストC#コードを渡してから、基本的にそのコードをメモリ内のアセンブリにコンパイルすることができますが、これは誰かが既にコードにコードを渡せるようにするコンパイルされたDLLを再コンパイルして再度実行します。

あなたは、このトピックの詳細については、こちらのポストを見ることができます:あなたは何とかそれをサポートするようにアプリケーションをリファクタリングすることができれば唯一のDLLにデータを渡すために http://www.dotnetthoughts.net/2011/01/09/how-to-compile-c-code-snippet-in-runtime/

より良い練習は次のようになります。

関連する問題