void buildTreeLayer(Exception e, TreeViewItem parent)
        {
            String exceptionInformation = "\n\r\n\r" + e.GetType().ToString() + "\n\r\n\r";

            parent.DisplayMemberPath = "Header";
            parent.Items.Add(new TreeViewStringSet()
            {
                Header = "Type", Content = e.GetType().ToString()
            });
            PropertyInfo[] memberList = e.GetType().GetProperties();
            foreach (PropertyInfo info in memberList)
            {
                var value = info.GetValue(e, null);
                if (value != null)
                {
                    if (info.Name == "InnerException")
                    {
                        TreeViewItem treeViewItem = new TreeViewItem();
                        treeViewItem.Header = info.Name;
                        buildTreeLayer(e.InnerException, treeViewItem);
                        parent.Items.Add(treeViewItem);
                    }
                    else
                    {
                        TreeViewStringSet treeViewStringSet = new TreeViewStringSet()
                        {
                            Header = info.Name, Content = value.ToString()
                        };
                        parent.Items.Add(treeViewStringSet);
                        exceptionInformation += treeViewStringSet.Header + "\n\r\n\r" + treeViewStringSet.Content + "\n\r\n\r";
                    }
                }
            }
            ExceptionInformationList.Add(exceptionInformation);
        }
コード例 #2
0
 void buildTreeLayer(System.Exception e, TreeViewItem parent)
 {
     String exceptionInformation = "\n\r\n\r" + e.GetType().ToString() + "\n\r\n\r";
     parent.DisplayMemberPath = "Header";
     parent.Items.Add(new TreeViewStringSet() { Header = "Type", Content = e.GetType().ToString() });
     PropertyInfo[] memberList = e.GetType().GetProperties();
     foreach (PropertyInfo info in memberList)
     {
         var value = info.GetValue(e, null);
         if (value != null)
         {
             if (info.Name == "InnerException")
             {
                 TreeViewItem treeViewItem = new TreeViewItem();
                 treeViewItem.Header = info.Name;
                 buildTreeLayer(e.InnerException, treeViewItem);
                 parent.Items.Add(treeViewItem);
             }
             else
             {
                 TreeViewStringSet treeViewStringSet = new TreeViewStringSet() { Header = info.Name, Content = value.ToString() };
                 parent.Items.Add(treeViewStringSet);
                 exceptionInformation += treeViewStringSet.Header + "\n\r\n\r" + treeViewStringSet.Content + "\n\r\n\r";
             }
         }
     }
     _exceptionInformationList.Add(exceptionInformation);
 }
コード例 #3
0
        private void BuildTreeLayer(Exception e, ItemsControl parent)
        {
            var exceptionInformation = "\n\r\n\r" + e.GetType() + "\n\r\n\r";

            parent.DisplayMemberPath = "Header";
            parent.Items.Add(new TreeViewStringSet {
                Header = "Type", Content = e.GetType().ToString()
            });
            var memberList = e.GetType().GetProperties();

            foreach (var info in memberList)
            {
                var value = info.GetValue(e, null);
                if (value == null)
                {
                    continue;
                }
                if (info.Name == "InnerException")
                {
                    var treeViewItem = new TreeViewItem {
                        Header = info.Name
                    };
                    BuildTreeLayer(e.InnerException, treeViewItem);
                    parent.Items.Add(treeViewItem);
                }
                else
                {
                    var treeViewStringSet = new TreeViewStringSet {
                        Header = info.Name, Content = value.ToString()
                    };
                    parent.Items.Add(treeViewStringSet);
                    exceptionInformation += treeViewStringSet.Header + "\n\r\n\r" + treeViewStringSet.Content +
                                            "\n\r\n\r";
                }
            }
            _exceptionInformationList.Add(exceptionInformation);
        }