コード例 #1
0
        public void TreeTestLazy()
        {
            var root = new RegDataLazy()
            {
                _name = regroot
            };

            root.Fillit();
            //            Assert.IsTrue(RegData._cnt > 350, "count = {0}", RegData._cnt);


            var zz = (RegDataLazy)Activator.CreateInstance(root.GetType());



            using (var mfd = new MapFileDict <int, RegDataLazy>())
            {
                mfd[1] = root;
                var ret = mfd[1];
                Assert.IsTrue(ret.CompareTo(root) == 0, "not equal! #items= {0}", RegDataLazy._cnt);
            }
            Assert.IsTrue(false, "Count = {0}", RegDataLazy._cnt);
        }
コード例 #2
0
 public void Fillit(int nLevel = 0)
 {
     if (nLevel < 1)
     {
         using (var reg = Microsoft.Win32.Registry.CurrentUser.OpenSubKey(_name))
         {
             var subkeys = reg.GetSubKeyNames();
             if (subkeys.Length > 0)
             {
                 _childNodes = new MapFileDictLazy <List <RegDataLazy> >();
                 foreach (var key in reg.GetSubKeyNames())
                 {
                     var newName = _name + @"\" + key;
                     var newnode = new RegDataLazy()
                     {
                         _name = newName
                     };
                     _childNodes.Value.Add(newnode);
                     newnode.Fillit(nLevel + 1);
                 }
             }
         }
     }
 }