private static void Guarda(CampoNombre elCampoNombre, StreamWriter elEscritor) { if (elCampoNombre.Número != null) { Guarda(elCampoNombre, (int)elCampoNombre.Número, elCampoNombre.Nombre, elEscritor); } else { Guarda(elCampoNombre, elCampoNombre.Nombre, elEscritor); } }
/// <summary> /// Devuelve una variable lógica que indica si un objeto /// dado es igual. /// </summary> /// <param name="elObjecto">EL objecto dado.</param> public override bool Equals(object elObjecto) { // Verifica objectos nulos y compara el tipo. if (elObjecto == null || (GetType() != elObjecto.GetType())) { return(false); } // Compara objecto. CampoNombre comparador = (CampoNombre)elObjecto; bool esIgual = (Nombre == comparador.Nombre); return(esIgual); }
/// <summary> /// Constructor. /// </summary> /// <param name="elManejadorDeMapa">El manejador del mapa.</param> /// <param name="elNúmero">El número del elemento.</param> /// <param name="laClase">La clase de elemento.</param> /// <param name="lasDescripcionesPorTipo">Las descripciones por tipo.</param> /// <param name="losCampos">Los campos del elemento.</param> protected ElementoDelMapa( ManejadorDeMapa elManejadorDeMapa, int elNúmero, string laClase, IDictionary <Tipo, string> lasDescripcionesPorTipo, IList <Campo> losCampos) { // Guarda variables. miManejadorDeMapa = elManejadorDeMapa; miNúmero = elNúmero; miClase = laClase; misCampos = losCampos; misDescripcionesPorTipo = lasDescripcionesPorTipo; // Busca los campos conocidos. foreach (Campo campo in losCampos) { CampoTipo campoTipo; CampoNombre campoNombre; CampoIndiceDeCiudad campoIndiceDeCiudad; if ((campoTipo = campo as CampoTipo) != null) { miCampoTipo = campoTipo; } else if ((campoNombre = campo as CampoNombre) != null) { if (campoNombre.Número == null) { miCampoNombre = campoNombre; } } else if ((campoIndiceDeCiudad = campo as CampoIndiceDeCiudad) != null) { miCampoIndiceDeCiudad = campoIndiceDeCiudad; } } bool existe = (Tipo != null) && (misDescripcionesPorTipo.TryGetValue((Tipo)Tipo, out miDescripción)); if (!existe) { miDescripción = string.Empty; } }
/// <summary> /// Actualiza el nombre del elemento. /// </summary> /// <param name="elNombreNuevo">El nombre nuevo.</param> /// <param name="laRazón">La razón del cambio.</param> public bool ActualizaNombre(string elNombreNuevo, string laRazón) { CampoNombre nuevoCampoNombre = new CampoNombre(elNombreNuevo); return(ActualizaCampo(nuevoCampoNombre, ref miCampoNombre, laRazón)); }