1

Rhino DSL を使用しており、動的オブジェクトをスクリプトに渡したい場合、boo コンパイラーは以下の例外をスローします: BCE0019: Boo.Lang.Compiler.CompilerError: 'Percent' is not a member of 'object'.

私のブーコード:

Result = Run().Percent

Run メソッドの C# Dsl 基本コード:

dynamic myDynamicObject;
public dynamic Run()
{

   //do somthing

   return myDynamicObject;
}
  • Run メソッドで myDynamicObject を DynamicObject から継承するクラスに設定し、TrySetValue & TryGetValue メソッドをオーバーライドします
4

1 に答える 1

0

「Percent」がどのように正確に呼び出されているか、または Rhino.DSL がデフォルトでダッキー Boo で設定されているかどうかはわかりませんが、「キャスト」をダックとして試すことができます(myobject as duck).Percent。参照については、 http://boo.codehaus.org/Duck+Typingを参照してください。

于 2011-04-05T14:55:57.917 に答える