У меня есть функция, которая принимает в качестве аргумента объект XDocument.
Мне нужно перебрать несколько других объектов в другой коллекции и для каждого из этих объектов выполнить некоторые действия с XDocument. Но для каждой итерации lopp требуется нетронутая копия исходного документа XDocument, передаваемого функции.
Однако, если я просто попробую выполнить свои операции с переменной, переданной в функцию, он будет вести себя как указатель - поэтому каждая итерация цикла получает XDocument в том состоянии, в каком он был оставлен в конце последней итерации, т.е. вообще бесполезно.
Очевидно, мне нужно сделать копию Xdocument, но я не вижу простого способа сделать это. Попытка:
XDocument currentServerXml = XDocumentFromFunction.Document():
А затем использование currentServerXml вместо XDocumentFromFunction дает мне ту же копию с тем же указателем и тем же поведением.
Как я могу создать новую копию данных для каждой итерации цикла?