CmisSync.CmisTree.NSCmisTree.GetNode C# (CSharp) Метод

GetNode() публичный Метод

public GetNode ( Node root ) : Node
root Node
Результат Node
        public Node GetNode(Node root)
        {
            NSCmisTree cmis = this;
            Stack<string> paths = new Stack<string> ();
            do {
                paths.Push(cmis.Name);
                cmis = cmis.Parent;
            } while (cmis != null);

            Node node = root;
            do {
                string current = paths.Pop ();
                if (current != node.Name) {
                    return null;
                }
                if (paths.Count == 0) {
                    return node;
                }
                node = node.Children.First (x => x.Name.Equals (paths.Peek()));
            } while (true);
        }
    }

Usage Example

        void OutlineSelected (NSCmisTree cmis, int selected)
        {
            InvokeOnMainThread (delegate
            {
                Node node = cmis.GetNode (Repo);
                if (node == null) {
                    Console.WriteLine ("SelectedEvent find node Error");
                }
                node.Selected = (selected != 0);
                DataSource.UpdateCmisTree (Repo);

                for (int i = 0; i < Outline.RowCount; ++i) {
                    try {
                        Outline.ReloadItem (Outline.ItemAtRow (i));
                    } catch (Exception e) {
                        Console.WriteLine (e);
                    }
                }
            });
        }
All Usage Examples Of CmisSync.CmisTree.NSCmisTree::GetNode