У меня есть класс, который я хочу иметь возможности сериализации / десериализации.
Он реализует интерфейс IXMLConvertable:
public interface IXMLConvertable<T>
where T: new() {
T deserialize(XElement element);
void serialize(XElement element);
}
когда T является типом объекта для десериализации. Вопрос в том, является ли хорошей практикой указывать имена тегов XML не в коде, а в строковых константах, например:
public class XMLTagger {
Dictionary<String, String> xmltags; /*key is fieldname to serialize, value is the tag for it*/
//...
public void addNewTag(String field, String tagForIt) {
xmltags.Add(field, tagForIt);
}
//...
}
Я надеюсь, вы поняли идею. Этот класс может использоваться каждым моим классом, какие объекты я хочу сериализовать / десериализовать, и предоставляет простой способ получить нужный тег по имени поля. Это хорошая идея или нет?