J'ai un objet avec quelques éléments qu'il contient:XML Récupération en setter
public class ObjectT{
public int ValueA{
get
set;
}
public string ValueB{
get;set;
}
public int Description{
get{
XDocument doc = XDocument.Load(@"xmldocument.xml");
return (string)doc.Elements("test").Single(t => t.Element(ValueB).Value);
}
}
Le Linq pourrait ne pas être parfait, mais bien, vous aurez l'idée. Je lis la description du xml, basée sur les autres propriétés de la classe. Cependant, je n'aime pas comment je dois lire du xml tout le temps. Imaginez que je veux faire 1000 de ces objets, avec 100 de différentes valeurs de description. Je devrais faire 1000 lectures dans le fichier XML.
Y a-t-il une meilleure façon (plus rapide) de faire cela?
cas d'utilisation
Ce que je veux faire est la suivante
ObjectT t = new ObjectT();
t.ValueA = 1;
string test = t.Description;
ObjectT t1 = new ObjectT;
t.ValueA = 2;
string test2 = t.Description;
...
Je veux réduire l'IO au xml, parce que je veux créer une charge d'objets.
Hmm, j'ai ajouté un peu ma question pour le rendre plus clair. Je veux créer une charge de ces objets. Donc, sur chaque objet que je crée, je dois maintenant charger dans le XML. –
En outre, il est risqué de charger un document XML dans un constructeur. Si l'opération échoue, le constructeur jette. Lancer dans un constructeur est une très mauvaise idée. –
@Timo J'ai abordé les préoccupations que vous avez mentionnées dans mes commentaires après le code, mais maintenant j'ai révisé le code lui-même pour transmettre davantage mon idée. @Mike cela dépend de la situation, par exemple TcpClient peut jeter de certaines de ses surcharges ctor. En tout cas, j'ai révisé le code pour rendre tout le monde heureux (j'espère) :) –