Problem getting DumpContainer.DumpDepth working
I have problem understandig how DumpDepth is supposed to be use, see comments in code below
using LINQPad.Controls; void Main() { var aaa = new AAA(new AA(new A(1, 2), new A(3, 4)), new AA(new A(5, 6), new A(7, 8))); var bbb = new BBB(new AA(new A(1, 2), new A(3, 4)), new AA(new A(5, 6), new A(7, 8))); //aaa.Dump("aa",depth: 2); // works (dump 2 levelt) var dc = new DumpContainer(aaa); //dc.DumpDepth = 1; // apparently no effect dc.Dump("dc"); // (dump all 3 levels) dc.DumpDepth = 1; // apparently no effect bbb.Dump(); } class AAA { public AAA(AA aA1, AA aA2) { AA1 = aA1; AA2 = aA2; } public AA AA1 { get; } public AA AA2 { get; } } class BBB { private AA aA1; private AA aA2; public BBB(AA aA1, AA aA2) { this.aA1 = aA1; this.aA2 = aA2; } public object Expanded { get { var dc = new DumpContainer(); Update(false); void Update(bool expand) { dc.Content = new Hyperlink("BB",_ => Update(!expand)); if (expand) { // 2 additional levels dumped to a total of 3 dc.DumpDepth = 3; // apparently no effect dc.AppendContent(new AAA(aA1,aA2)); //dc.DumpDepth = 3; // apparently no effect } } return dc; } } } class AA { public AA(A a1, A a2) { A1 = a1; A2 = a2; } public A A1 { get; } public A A2 { get; } } class A { public A(int v1, int v2) { V1 = v1; V2 = v2; } public int V1 { get; } public int V2 { get; } }
Comments
Try dc.Refresh();?
works only for the first case where AAA is dumped in Main() i.e.
but NOT for the second case where where another AAA is dumped when the hyperlink BB is pressed