JintでDynamicObjectクラスを使用したいので、それを行うためのサンプルを作成しました。最初のアサートは正しく成功しますが、2番目のアサートでは失敗します。
それを行う方法はありますか、それを可能にする他のjavascriptエンジンを知っていますか?
public void Jtest()
{
Jint.JintEngine engine = new JintEngine();
dynamic subject = new MyDynamicObject();
dynamic x = subject.myProp.otherProp;
Assert.AreEqual(subject, x);
engine.SetParameter("myClass", subject);
object result = engine.Run(@"return myClass.myProp.otherProp;");
// result is null here
Assert.AreEqual(subject, result);
}
public class MyDynamicObject : System.Dynamic.DynamicObject
{
public override bool TryGetMember(System.Dynamic.GetMemberBinder binder, out object result)
{
result = this;
return true;
}
}