내 솔루션에서는 XML 파일의 XElement
을 다른 파일로 복사하는 Copy()
과 함께 Object Class
을 가지고 있습니다.정적 변수를 피할 수있는 솔루션
이제 Copy()
을 호출하기 위해 Objects
을 현재 XElement
내에 보내야하므로 재귀 호출을합니다. 이 과정에서 업데이트 될 attribute
의 value
을 추출합니다.
이제이 작업을 수행 한 유일한 방법은 static variable
에 이러한 값을 모두 추출하여 Object
의 새 인스턴스가 생성 될 때마다 변경되지 않는 것입니다.
그래서, 기본적으로 내가 가진 :
public class Item
{
public XElement Element;
private static readonly List<Tuple<string, string>> Ids = new List<Tuple<string, string>>();
public String Copy(){
//Recursively get all the OldIds from the current Element
//populate the List with oldIds and ""
//generate newId for this
//update List that matches the OldId and put the newId
//Update the Element
//Transfer Element
return newId;
}
}
가 무엇 static List
을 사용하지 않도록하는 가장 좋은 방법이 있을까요?
감사합니다.
: 그런 다음 하위 요소의 전체 트리를 얻을 수 있도록 요소 메소드를 호출 할 수 있습니다
: 여기
는 트리를 탐색하는 간단한 방법입니다 글로벌 변수 **가 오도 될 수 있습니다. C++에서 전역 변수는 클래스에 없으며 C#에서는 전역 변수가 허용되지 않습니다. ** 정적 ** 변수를 호출하기 만하면됩니다. –