private bool IsMethodMatchAll(MethodDefinition methodDefinition, XmlMetaModel.MethodModel model) { if (!string.IsNullOrEmpty(model.name)) { if (methodDefinition.Name != model.name) { return(false); } } if (model.ArgCount != -1) { if (methodDefinition.Parameters.Count != model.ArgCount) { return(false); } } if (model.GenericArgCount != -1) { if (methodDefinition.GenericParameters.Count != model.GenericArgCount) { return(false); } } if (!string.IsNullOrEmpty(model.RetType)) { if (!IsMethodParameterSame(methodDefinition.ReturnType, new XmlMetaModel.ArgumentModel() { type = model.RetType })) { return(false); } } if (model.Args != null) { if (methodDefinition.Parameters.Count != model.Args.Length) { return(false); } int index = 0; foreach (var parameter in methodDefinition.Parameters) { var parameterModel = model.Args[index]; if (!IsMethodParameterSame(parameter.ParameterType, parameterModel)) { return(false); } ++index; } } return(true); }
public MethodMetaInfo(MethodDefinition methodDefinition, XmlMetaModel.MethodModel model) { MethodDefinition = methodDefinition; model_ = model; }