Example #1
0
 void InvokeMethod(object obj, Type objType, MemberInfo[] members)
 {
     var method = (MethodInfo)members[0];
     if (members.Length > 0) {
         foreach (var m in members.Cast<MethodInfo> ()) {
             var ps = m.GetParameters ();
             if (ps.Length != Arguments.Count) continue;
             var match = true;
             for (var i = 0; i < ps.Length && match; i++) {
                 match = ps[i].ParameterType.FullName == Arguments[i].ValueType;
             }
             if (match) {
                 method = m;
                 break;
             }
         }
     }
     var args = EvalArguments (obj, objType);
     Value = method.Invoke (obj, args);
 }