CS-ScriptライブラリでAsmHelperクラスを使用しています。私は1つのAsmHelperオブジェクトだけを使用し、CSScript.LoadCode
を使用してファイルパスを変更する方法を知りたいので、前のスクリプトの実行後に新しいスクリプトを読み込むことができますが、1つのAsmHelperオブジェクトを使用します。今のところ、以下に示すように、私は4つのAsmHelperオブジェクトを持っています。あなたは追加の詳細を提供するために、私を必要とした場合CSスクリプトのファイルパスを変更するAsmHelperオブジェクト
public interface ITransform
{
User Transform(User record);
}
は、すぐ下に尋ねる:ここ
AsmHelper transform1 = new AsmHelper
(CSScript.LoadCode(@"CS-Scripts\parent.cs", null, true));
ITransform engine1 = (ITransform)transform1.CreateObject("Script");
AsmHelper transform2 = new AsmHelper
(CSScript.LoadCode(@"CS-Scripts\bYear.cs", null, true));
ITransform engine2 = (ITransform)transform2.CreateObject("Script");
AsmHelper transform3 = new AsmHelper
(CSScript.LoadCode(@"CS-Scripts\fInitial.cs", null, true));
ITransform engine3 = (ITransform)transform3.CreateObject("Script");
AsmHelper transform4 = new AsmHelper
(CSScript.LoadCode(@"CS-Scripts\pet.cs", null, true));
ITransform engine4 = (ITransform)transform4.CreateObject("Script");
は、必要であればそれで行くのインタフェースです。
私はこれまでそうしていましたが、私がAsmHelperを使用している理由は、それをアンロードしてメモリを節約できるからです。 –
AsmHelperをアンロードする方法を知っていますか? –
元の投稿で提供したコードは決してアンロードされません。あなたは実際に処分時にAppDomainのアンロードを保証する別のAsmHelperコンストラクタを使用することになっています。コードサンプルを見て、それがどのように完了したかを確認します。 – taras