private static MethodInfo GetMethodInfo(Type objectType, InvokeMethodParameter param) { MethodInfo info = null; for (Type type = objectType; (type != null) && (info == null); type = type.BaseType) { info = GetMethodInfo_(type, param); } return(info); }
private static MethodInfo GetMethodInfo_(Type objectType, InvokeMethodParameter param) { return(objectType.GetMethod(param.Name, param.Flags, null, param.Types, new ParameterModifier[0])); }
public static bool IsMethodExist(Type type, InvokeMethodParameter param) { return(GetMethodInfo(type, param) != null); }
public bool IsMethodExist(InvokeMethodParameter param) { return(IsMethodExist(this._objectType, param)); }
public static object InvokeStaticMethod(Type type, InvokeMethodParameter param) { return(GetMethodInfo(type, param).Invoke(null, param.Parameters)); }
public object InvokeMethod(InvokeMethodParameter param) { return(GetMethodInfo(this._objectType, param).Invoke(this._object, param.Parameters)); }