これは、jQuery コールバック関数内で「this」を参照できることに似ています。たとえば、jQuery クラスの Current プロパティを参照してください (https://github.com/nikhilk/scriptsharp/blob/cc/src/Libraries/jQuery/jQuery.Core/jQuery.cs)。
具体的には、これを書くと:
[ScriptImport]
public static class Global {
[ScriptField, ScriptAlias("this")]
public static object This {
get { return null; }
}
}
次に、これを書くことができます:
public static class MyCode {
public static bool MyFunction() {
return (Script.GetField<int>(Globals.This, "value") > 100);
}
}
もちろん、厳密に型指定されたクラスを返すインポート クラスを作成することもできます (jQuery の例を再度参照してください)。これにより、Script.GetField を使用せずに MyFunction を作成できます。
上記のコードは、script# 0.8 API (github のプロジェクトのダウンロード ページから取得できます) を前提としています。以前のビルドでは、[ScriptImport] を [Imported] に、[ScriptField] を [IntrinsicProperty] に置き換えます。
This プロパティのようなものを Script クラスに配置して、0.8 が完成したときにすぐに使用できるようにしたいと考えています。