public static void insertarMetodo(Procedimiento procedimiento) { if (contieneMetodo(procedimiento)) { throw new Exception("El metodo " + procedimiento.identificador + " ya existe con la misma cantidad" + " y tipos de parametros"); } Data.procedimientos.Add(procedimiento); }
public static Procedimiento buscarProcedimiento(string identificador, List <Parametro> parametros) { Procedimiento acciones = null; if (parametros == null) { foreach (Procedimiento meth in Data.procedimientos) { if (meth.identificador.Equals(identificador) && meth.parametros.Count == 0) { acciones = meth; } } if (acciones != null) { return(acciones); } } foreach (Procedimiento met in Data.procedimientos) { if (met.identificador.Equals(identificador)) { if (met.parametros.Count == parametros.Count) { if (validarParametros(parametros, met.parametros)) { acciones = met; } } } } if (acciones == null) { throw new Exception("No existe tal metodo"); } return(acciones); }
private static bool contieneMetodo(Procedimiento procedimiento) { foreach (Procedimiento proc in Data.procedimientos) { if (proc.identificador.Equals(procedimiento.identificador)) { if (proc.parametros.Count == procedimiento.parametros.Count) { bool flag = true; for (int i = 0; i < proc.parametros.Count; i++) { flag = flag && validarParametros(proc.parametros[i], procedimiento.parametros[i]); } if (flag) { return(true); } } } } return(false); }