クラスライブラリー
mash.exe を DLL として参照することで、他のアプリケーションからスクリプトを実行できます。
リファレンス
mash 名前空間
namespace mash
CodeUtility クラス
class CodeUtility
既定のアプリケーションドメインでスクリプトを実行するクラスです。
Execute メソッド
static object Execute(string fileName)
static object Execute(string fileName, string source)
static object Execute(string fileName, string source, string[] referenceAssemblies)
static object Execute(string fileName, string source, string[] referenceAssemblies, CodeTypes codeType)
static object Execute(string fileName, string source, string[] referenceAssemblies, CodeTypes codeType, string className)
static object Execute(string fileName, string source, string[] referenceAssemblies, CodeTypes codeType, string className, string methodName)
static object Execute(string fileName, string source, string[] referenceAssemblies, CodeTypes codeType, string className, string methodName, object[] methodArgs)
static object Execute(string fileName, string source, string[] referenceAssemblies, CodeTypes codeType, string className, string methodName, object[] methodArgs, System.Collections.Generic.Dictionary<string, string> providerOptions)
static object Execute(string fileName, string source = "", string[] referenceAssemblies = null, CodeTypes codeType = CodeTypes.Auto, string className = "", string methodName = "", object[] methodArgs = null)
スクリプトを実行します。実行されたメソッドの戻り値が返されます。
(1.0.2 providerOptions 追加)
(1.0.1 省略可能な引数からオーバーロードに変更)
| 引数 |
説明 |
| fileName |
実行するソースのファイル名です。 source を指定した場合は、ファイルは読み込まれませんが、キャッシュ機構のキーとなるため必須です。 |
| source |
実行するソースです。 省略時は、fileName のファイルが読み込まれます。 |
| referenceAssemblies |
アセンブリの参照リストです。 省略時は、アセンブリの参照を追加しません。 ソース中 #pragma link ディレクティブで追加することもできます。 |
| codeType |
言語の種類です。 省略時は、fileName の拡張子により自動判別されます。 ソース中 #pragma cs|vb|js ディレクティブで指定することもできます。この場合はディレクティブが優先されます。 |
| className |
実行するクラス名です。 省略時は、fileName のファイル名(拡張子除く)となります。 |
| methodName |
実行するメソッド名です。(※1) 省略時は、Main となります。 |
| methodArgs |
メソッドの引数リストです。 省略時は、引数なしとなります。 |
| providerOptions |
CodeDom のプロバイダオプションを追加します。 ソース中 #pragma compiler ディレクティブで追加することもできます。 デフォルトで CompilerVersion=v3.5 となっています。 |
(※1)実行できるメソッドは static メソッドのみです。
ClearCache メソッド
static void ClearCache()
static void ClearCache(string fileName = "")
キャッシュをすべて削除します。
(1.0.2 引数 fileName 廃止)
RemoveCache メソッド
static void RemoveCache(string fileName)
キャッシュを削除します。
(1.0.2 追加)
| 引数 |
説明 |
| fileName |
キャッシュを削除するファイル名です。 |
MarshalCodeUtility クラス
class MarshalCodeUtility
新規のアプリケーションドメインでスクリプトを実行するクラスです。
Execute メソッド
static object Execute(string fileName)
static object Execute(string fileName, string source)
static object Execute(string fileName, string source, string[] referenceAssemblies)
static object Execute(string fileName, string source, string[] referenceAssemblies, CodeTypes codeType)
static object Execute(string fileName, string source, string[] referenceAssemblies, CodeTypes codeType, string className)
static object Execute(string fileName, string source, string[] referenceAssemblies, CodeTypes codeType, string className, string methodName)
static object Execute(string fileName, string source, string[] referenceAssemblies, CodeTypes codeType, string className, string methodName, object[] methodArgs)
static object Execute(string fileName, string source, string[] referenceAssemblies, CodeTypes codeType, string className, string methodName, object[] methodArgs, TextWriter twOut, TextWriter twError)
static object Execute(string fileName, string source, string[] referenceAssemblies, CodeTypes codeType, string className, string methodName, object[] methodArgs, TextWriter twOut, TextWriter twError, System.Collections.Generic.Dictionary<string, string> providerOptions)
static object Execute(string fileName, string source ="", string[] referenceAssemblies = null, CodeTypes codeType = CodeTypes.Auto, string className = "", string methodName = "", object[] methodArgs = null, TextWriter twOut = null, TextWriter twError = null)
スクリプトを実行します。実行されたメソッドの戻り値が返されます。
(1.0.2 providerOptions 追加)
(1.0.1 省略可能な引数からオーバーロードに変更)
| 引数 |
説明 |
| fileName |
実行するソースのファイル名です。 source を指定した場合は、ファイルは読み込まれませんが、キャッシュ機構のキーとなるため必須です。 |
| source |
実行するソースです。 省略時は、fileName のファイルが読み込まれます。 |
| referenceAssemblies |
アセンブリの参照リストです。 省略時は、アセンブリの参照を追加しません。 ソース中 #pragma link ディレクティブで追加することもできます。 |
| codeType |
言語の種類です。 省略時は、fileName の拡張子により自動判別されます。 ソース中 #pragma cs|vb|js ディレクティブで指定することもできます。この場合はディレクティブが優先されます。 |
| className |
実行するクラス名です。 省略時は、fileName のファイル名(拡張子除く)となります。 |
| methodName |
実行するメソッド名です。(※1) 省略時は、Main となります。 |
| methodArgs |
メソッドの引数リストです。 省略時は、引数なしとなります。 |
| twOut |
標準出力を受け取るストリームです。(※2) 省略時は、受け取りません。 |
| twError |
標準エラーを受け取るストリームです。(※2) 省略時は、受け取りません。 |
| providerOptions |
CodeDom のプロバイダオプションを追加します。 ソース中 #pragma compiler ディレクティブで追加することもできます。 デフォルトで CompilerVersion=v3.5 となっています。 |
(※1)実行できるメソッドは static メソッドのみです。
(※2)MarshalCodeUtility では、実行されるスクリプトのアプリケーションドメインが異なるため、スクリプトから出力された標準出力・標準エラーを、呼び出し元から取得できません。ストリームを渡すことで標準出力・標準エラーを受け取ることができます。
ClearCache メソッド
static void ClearCache()
static void ClearCache(string fileName = "")
キャッシュをすべて削除します。
(1.0.2 引数 fileName 廃止)
RemoveCache メソッド
static void RemoveCache(string fileName)
キャッシュを削除します。
(1.0.2 追加)
| 引数 |
説明 |
| fileName |
キャッシュを削除するファイル名です。 |
CodeException クラス
class CodeException / 継承 Exception
コンパイルエラーがある場合に発行される例外です。
| フィールド |
説明 |
| CodeErrorCollection errors |
コンパイルエラーのコレクションです。 |
CodeErrorCollection クラス
class CodeErrorCollection
コンパイルエラーのコレクションです。
| フィールド |
説明 |
| System.Collections.Generic.List<CodeError> items |
コンパイルエラーのリストです。 |
CodeError クラス
class CodeError
コンパイルエラーです。
| フィールド |
説明 |
| string fileName |
ファイル名です。 |
| string message |
メッセージです。 |
| string no |
№です。 |
| int line |
行番号です。 |
| int column |
桁番号です。 |
| bool isWarning |
警告かどうかです。 |
CodeTypes 列挙定数
enum CodeTypes / 継承 byte
言語の種類です。
| 定数 |
説明 |
| CSharp |
言語を C# とします。 |
| VisualBasic |
言語を Visual Basic とします。 |
| JScript |
言語を JScript とします。 |
| Auto |
ファイル名の拡張子により自動判別されます。 |
ご意見・ご要望など
コメントは最新の10件分だけ表示されます。
最終更新:2017年01月30日 13:29