私はロザリンと遊ぶだけですが、次のようにする方法は不明です。csファイルからスクリプトをロードし、ホストメソッド、プロパティなどにアクセスしますか?
このシンプルに保つために、私はそう
public void DisplayMessage(string message)
{
MessageBox.Show(message);
}
のようなメソッドを持っているホストプログラムは、私はその後、MyScript.csxというスクリプトファイルがあり、その後、どこかに、スクリプト内の
のようなものを持つことができていると言うことができますvoid Main()
{
Host.DisplayMessage("I am a script");
}
次に、ホストにファイルをロードして実行させます。
この種のことを行うことができない場合は、それを行うことができるC#に基づくスクリプトシステム/エンジンがありますか? これは要件です
- ホストアプリケーションはファイルからスクリプトを読み込むことができます。
- スクリプトファイルC#で書かれているので、
- スクリプトファイルは、はい、あなたはロズリンを使ってやりたいことができますホストのパブリックメソッド、プロパティなど
クール、私はそれを試してみましょう – Gaz83
Ok @svickただDisplayMessageを書く( "私はスクリプトです");動作しないので、実際にホストのプロパティに実際にどのようにアクセスしますか? は私が#R追加してみました:スクリプトの先頭に、「C \ MyScriptTest.exe」(スクリプトを実行アセンブリ)と、以下のTestApp.MainWindow.DisplayMessageを(「私はスクリプトだ」)を行います。しかし、私は "DisplayMessageの定義が含まれていません"エラー – Gaz83
あなたは本当にどのような方法でそれを参照する必要はありません、あなたは私が書いたようにそれを呼び出すことができる必要があります。 'Host'のインスタンスを' ExecuteFile() 'メソッドに渡していて、呼び出したいメソッドが' public'ですか? – svick