Tengo una clase que contiene muchas propiedades y necesito actualizar el
valor de algunas desde un archivo xml, por ejemplo:
class OrdenVenta {
... variables privadas ...
public string Id {
get { return _id; }
set { _id = value; }
}
public int Numero {
get { return _numero; }
set { _numero = value; }
}
... y tiene como 30 propiedades más ...
}
formato del archivo xml:
<OrdenVenta>
<Modificar campo="Numero" valor="45" />
<Modificar campo="Fecha" valor="25/06/2007" />
<Modificar campo="CodigoCliente" valor="MLT2384" />
... y así sucesivamente ...
</OrdenVenta>
Finalmente, se definió un objeto y se leyeron los campos y valores:
OrdenVenta miOrden = new OrdenVenta();
...
XmlReader reader = XmlReader.Create("configuracion.xml", settings);
...
campoNombre = reader.GetAttribute("campo");
campoValor = reader.GetAttribute("valor");
...
Ahora me gustaría evitar el código siguiente, en el que se tiene que
chequear cada propiedad:
if (campoNombre == "Numero")
miOrden.Numero = campoValor;
else if (campoNombre == "CodigoCliente")
miOrden.CodigoCliente = campoValor;
¿Hay alguna forma de hacer esto más eficientemente? Algún código como el
siguiente:
miOrden.Set(campoNombre, CodigoCliente);
...o...
miOrden[campoNombre] = CodigoCliente;
Gracias a todos!
Leer las respuestas