Clone

Node.Clone method

ينشئ نسخة مكررة من العقدة.

public Node Clone(bool isCloneChildren)
معامليكتبوصف
isCloneChildrenBooleanصحيح لاستنساخ الشجرة الفرعية بشكل متكرر تحت العقدة المحددة؛ خطأ لاستنساخ العقدة نفسها فقط.

قيمة الإرجاع

العقدة المستنسخة.

ملاحظات

تعمل هذه الطريقة كمنشئ نسخ للعقد. العقدة المستنسخة ليس لها أصل، ولكنها تنتمي إلى نفس المستند مثل العقدة الأصلية.

هذه الطريقة تقوم دائمًا بنسخ العقدة بشكل عميق.isCloneChildren يحدد parameter ما إذا كان سيتم نسخ جميع العقد الفرعية أيضًا.

أمثلة

يوضح كيفية استنساخ عقدة مركبة.

Document doc = new Document();
Paragraph para = doc.FirstSection.Body.FirstParagraph;
para.AppendChild(new Run(doc, "Hello world!"));

// فيما يلي طريقتان لاستنساخ عقدة مركبة.
// 1 - قم بإنشاء نسخة طبق الأصل من عقدة، ثم قم بإنشاء نسخة طبق الأصل من كل عقدة فرعية لها أيضًا.
Node cloneWithChildren = para.Clone(true);

Assert.IsTrue(((CompositeNode)cloneWithChildren).HasChildNodes);
Assert.AreEqual("Hello world!", cloneWithChildren.GetText().Trim());

// 2 - إنشاء نسخة طبق الأصل من العقدة بمفردها دون أي أطفال.
Node cloneWithoutChildren = para.Clone(false);

Assert.IsFalse(((CompositeNode)cloneWithoutChildren).HasChildNodes);
Assert.AreEqual(string.Empty, cloneWithoutChildren.GetText().Trim());

أنظر أيضا