protected virtual object DoesNotUnderstand(Interpreter interpreter, IObject self, string msgname, object[] args)
{
if (interpreter.Machine.HostMachine != null)
{
IBehavior behavior = interpreter.Machine.HostMachine.GetAssociatedBehavior(self.Behavior);
if (behavior != null)
{
IMethod method = behavior.GetInstanceMethod(msgname);
if (method != null)
return method.ExecuteInInterpreter(interpreter, self, args);
method = behavior.GetInstanceMethod(this.Name);
if (method != null)
return method.ExecuteInInterpreter(interpreter, self, new object[] { msgname, args });
}
}
return DotNetObject.SendMessage(interpreter.Machine, self, msgname, args);
}