public object run_keyword(string name, object[] args) { var result = new Result(); try { var instance = GetInstanceContainingMethod(name); return instance.GetType().InvokeMember(name, BindingFlags.InvokeMethod | BindingFlags.OptionalParamBinding, null, this, args); } catch (Exception ex) { Console.Write(ex.ToString()); return result.Exception(ex.Message, ex.ToString()); } }
public object run_keyword(string name, object[] args) { var result = new Result(); args = MarshallArgs(args); try { var instance = GetInstanceContainingMethod(name); var returnObject = instance.GetType().InvokeMember(get_method_by_attribute(name, "step") as string, BindingFlags.InvokeMethod | BindingFlags.OptionalParamBinding, null, instance, args); if (returnObject == null) return Result.CreatePass(""); return returnObject as Result; } catch (Exception ex) { if (ex.InnerException != null) return result.Exception(ex.InnerException.Message, ""); return result.Exception(ex.Message, ex.ToString()); } }