當前位置: 首頁>>代碼示例>>C#>>正文


C# XNode.AddBeforeSelf方法代碼示例

本文整理匯總了C#中System.Xml.Linq.XNode.AddBeforeSelf方法的典型用法代碼示例。如果您正苦於以下問題:C# XNode.AddBeforeSelf方法的具體用法?C# XNode.AddBeforeSelf怎麽用?C# XNode.AddBeforeSelf使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在System.Xml.Linq.XNode的用法示例。


在下文中一共展示了XNode.AddBeforeSelf方法的4個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的C#代碼示例。

示例1: ExecuteXDocumentVariation

 public void ExecuteXDocumentVariation(XNode[] toAdd, XNode contextNode)
 {
     IEnumerable<XNode> toAddList = toAdd.OfType<XNode>();
     XDocument xDoc = new XDocument(contextNode);
     XDocument xDocOriginal = new XDocument(xDoc);
     using (UndoManager undo = new UndoManager(xDoc))
     {
         undo.Group();
         using (EventsHelper docHelper = new EventsHelper(xDoc))
         {
             using (EventsHelper nodeHelper = new EventsHelper(contextNode))
             {
                 contextNode.AddBeforeSelf(toAdd);
                 Assert.True(toAddList.SequenceEqual(contextNode.NodesBeforeSelf(), XNode.EqualityComparer), "Nodes not added correctly!");
                 nodeHelper.Verify(0);
             }
             docHelper.Verify(XObjectChange.Add, toAdd);
         }
         undo.Undo();
         Assert.True(XNode.DeepEquals(xDoc, xDocOriginal), "Undo did not work!");
     }
 }
開發者ID:ESgarbi,項目名稱:corefx,代碼行數:22,代碼來源:EventsAdd.cs

示例2: ExecuteXElementVariation

 public void ExecuteXElementVariation(XNode[] toAdd, XNode contextNode)
 {
     IEnumerable<XNode> toAddList = toAdd.OfType<XNode>();
     XElement xElem = new XElement("root", contextNode);
     XElement xElemOriginal = new XElement(xElem);
     using (UndoManager undo = new UndoManager(xElem))
     {
         undo.Group();
         using (EventsHelper elemHelper = new EventsHelper(xElem))
         {
             using (EventsHelper nodeHelper = new EventsHelper(contextNode))
             {
                 contextNode.AddBeforeSelf(toAdd);
                 Assert.True(toAddList.SequenceEqual(contextNode.NodesBeforeSelf(), XNode.EqualityComparer), "Nodes not added correctly!");
                 nodeHelper.Verify(0);
             }
             elemHelper.Verify(XObjectChange.Add, toAdd);
         }
         undo.Undo();
         Assert.True(xElem.Nodes().SequenceEqual(xElemOriginal.Nodes(), XNode.EqualityComparer), "Undo did not work!");
         Assert.True(xElem.Attributes().EqualsAllAttributes(xElemOriginal.Attributes(), Helpers.MyAttributeComparer), "Undo did not work!");
     }
 }
開發者ID:ESgarbi,項目名稱:corefx,代碼行數:23,代碼來源:EventsAdd.cs

示例3: EnsureFirstNodeWhitespaceSeparation

        /// <summary>
        ///     Ensures the whitespace separation for the first child element added to a node.
        /// </summary>
        /// <param name="element"></param>
        private void EnsureFirstNodeWhitespaceSeparation(XNode element)
        {
#if DEBUG
            if (element.Parent != null)
            {
                Debug.Assert(element.Parent.Elements().Count() == 1, "Unexpected count of elements!");
            }
            else
            {
                // if first.Parent is null, then this is the root element in a document
                Debug.Assert(element.Document.Root == element, "element had null parent, but is not the root element of the document");
            }
#endif

            var precedingNewLine = new XText(Environment.NewLine + new string(' ', GetIndentLevel() * 2));
            var trailingNewLine = new XText(Environment.NewLine + new string(' ', Parent.GetIndentLevel() * 2));
            element.AddBeforeSelf(precedingNewLine);
            element.AddAfterSelf(trailingNewLine);
        }
開發者ID:Cireson,項目名稱:EntityFramework6,代碼行數:23,代碼來源:EFElement.cs

示例4: EnsureWhitespaceBeforeNode

        /// <summary>
        ///     Ensures the whitespace separation between two nodes.  Appropriate whitespace is added before the given node
        /// </summary>
        /// <param name="first"></param>
        private XText EnsureWhitespaceBeforeNode(XNode node)
        {
            Debug.Assert(
                node.Parent != null && node.Parent.Elements().Count() > 0,
                "Call EnsureFirstNodeWhitespaceSeparation when the added element is the first node");

            var newLine = new XText(Environment.NewLine + new string(' ', GetIndentLevel() * 2));
            node.AddBeforeSelf(newLine);
            return newLine;
        }
開發者ID:Cireson,項目名稱:EntityFramework6,代碼行數:14,代碼來源:EFElement.cs


注:本文中的System.Xml.Linq.XNode.AddBeforeSelf方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。