우리는 XML serializer를 사용하여 객체의 상태를 저장하려고합니다. 토론을 위해 다음과 같이 객체를 가정합니다.xml Serializer를 사용하여 개체 상태 저장. 속성 또는 하드 코드 된 문자열에서 노드 이름을 가져 오는 방법을 권장합니까?
Class Program
{
public string Char1 {get; set;}
public XMLNode Serialize (XmlDocument doc)
{
var node = document.CreateElement("Mod")
node.SetAttribute("Char1", Char1.ToString());
}
}
여기서 Char1 속성의 값을 가져 와서 Char1 이름의 노드에 쓰려고합니다.
리플렉션을 사용하여 Char1 속성에서 파생 된 노드 이름 "Char1"을 갖는 것이 더 좋습니까? 그러나 이로 인해 속성 이름이 변경 될 때 XML 문서가 자주 변경 될 수 있습니다.
속성 이름이 변경되고 문자열이 업데이트되지 않으면 xml 문서의 값이 해당 필드의 컨텍스트와 일치하지 않습니다.
어떤 접근 방식이 바람직합니까?
xml 파일을 쓰는 동안 마법의 문자열을 피하는 다른 방법이 더 있으면 제안하십시오.
질문의 맥락에서 제안하려는 것은 속성 자체에서 노드 이름을 얻는 것입니다. 제 이해가 맞습니까? – Versatile