Как я могу использовать динамический объект C# в Boo (Rhino DSL)?

Я использую Rhino DSL, и когда я хочу передать динамический объект в сценарий, компилятор boo выдает следующее исключение:BCE0019: Boo.Lang.Compiler.CompilerError: "Процент" не является членом "объекта".

мой код бу:

Result = Run().Percent

C# Dsl Базовый код для метода Run:

dynamic myDynamicObject;
public dynamic Run()
{

   //do somthing

   return myDynamicObject;
}
  • в методе Run я устанавливаю myDynamicObject для класса, который наследуется от DynamicObject, и переопределяю метод TrySetValue & TryGetValue

1 ответ

Не уверен, как именно вызывается Percent, или Rhino.DSL настроен с Ducky Boo по умолчанию, но вы можете попробовать "casting" как Duck, например (myobject as duck).Percent, См. http://boo.codehaus.org/Duck+Typing для справки.

Другие вопросы по тегам