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); }
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); }
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); }