アットウィキロゴ

クラスライブラリー

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