From ac26edd98c7d7a8bd0aca26a3c1e3b53c86a6ee8 Mon Sep 17 00:00:00 2001 From: Thomas Date: Fri, 27 Oct 2023 00:51:35 +0100 Subject: [PATCH 1/3] Return no children if cannot expand --- src/Microsoft.PowerShell.ConsoleGuiTools/ShowObjectView.cs | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/Microsoft.PowerShell.ConsoleGuiTools/ShowObjectView.cs b/src/Microsoft.PowerShell.ConsoleGuiTools/ShowObjectView.cs index 22c5626..2c18b94 100644 --- a/src/Microsoft.PowerShell.ConsoleGuiTools/ShowObjectView.cs +++ b/src/Microsoft.PowerShell.ConsoleGuiTools/ShowObjectView.cs @@ -205,6 +205,11 @@ private static bool IsBasicType(object value) public IEnumerable GetChildren(object forObject) { + if(!this.CanExpand(forObject)) + { + return Enumerable.Empty(); + } + if (forObject is CachedMemberResult p) { if (p.IsCollection) From 0dd99a12a337210d437f9e0e6ca32fd294661a2e Mon Sep 17 00:00:00 2001 From: tznind Date: Fri, 27 Oct 2023 01:00:18 +0100 Subject: [PATCH 2/3] Only ask for public instance members --- src/Microsoft.PowerShell.ConsoleGuiTools/ShowObjectView.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Microsoft.PowerShell.ConsoleGuiTools/ShowObjectView.cs b/src/Microsoft.PowerShell.ConsoleGuiTools/ShowObjectView.cs index 2c18b94..4a8174b 100644 --- a/src/Microsoft.PowerShell.ConsoleGuiTools/ShowObjectView.cs +++ b/src/Microsoft.PowerShell.ConsoleGuiTools/ShowObjectView.cs @@ -205,7 +205,7 @@ private static bool IsBasicType(object value) public IEnumerable GetChildren(object forObject) { - if(!this.CanExpand(forObject)) + if(forObject ==null || !this.CanExpand(forObject)) { return Enumerable.Empty(); } @@ -227,7 +227,7 @@ public IEnumerable GetChildren(object forObject) List children = new List(); - foreach (var member in forObject.GetType().GetMembers().OrderBy(m => m.Name)) + foreach (var member in forObject.GetType().GetMembers(BindingFlags.Instance | BindingFlags.Public).OrderBy(m => m.Name)) { if (member is PropertyInfo prop) { From 22ab7a3ee24bd0c6b4654613c71910d017e1e25b Mon Sep 17 00:00:00 2001 From: tznind Date: Fri, 27 Oct 2023 01:01:51 +0100 Subject: [PATCH 3/3] Fix whitespace formatting --- src/Microsoft.PowerShell.ConsoleGuiTools/ShowObjectView.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Microsoft.PowerShell.ConsoleGuiTools/ShowObjectView.cs b/src/Microsoft.PowerShell.ConsoleGuiTools/ShowObjectView.cs index 4a8174b..989cab1 100644 --- a/src/Microsoft.PowerShell.ConsoleGuiTools/ShowObjectView.cs +++ b/src/Microsoft.PowerShell.ConsoleGuiTools/ShowObjectView.cs @@ -205,7 +205,7 @@ private static bool IsBasicType(object value) public IEnumerable GetChildren(object forObject) { - if(forObject ==null || !this.CanExpand(forObject)) + if (forObject == null || !this.CanExpand(forObject)) { return Enumerable.Empty(); }