BinaryFileSchemaGUI.BFSGUI.IterateSchema C# (CSharp) 메소드

IterateSchema() 개인적인 메소드

private IterateSchema ( BinaryFileSchema schema ) : void
schema BFSchema.BinaryFileSchema
리턴 void
        private void IterateSchema( BinaryFileSchema schema )
        {
            foreach (IBfsDataBlock block in schema.DatablockList)
            {
                TreeNode node = treeBFSstructure.Nodes.Add(block.Name);
                node.Tag = block;
                node.ImageIndex = node.SelectedImageIndex = 0;

                if (block is IBfsStructType)
                {
                    if (block is IBfsConsumptionType)
                        node.ImageIndex = node.SelectedImageIndex = 1;

                    foreach (BfsStructField field in (block as IBfsStructType).StructFields.Values)
                    {
                        TreeNode newnode = node.Nodes.Add(field.ToString());
                        newnode.Tag = field;
                        newnode.ImageIndex = newnode.SelectedImageIndex = 4;
                    }
                }
                else if (block is BfsEnum)
                {
                    node.ImageIndex = node.SelectedImageIndex = 2;
                    foreach (BfsEnumField field in (block as BfsEnum).EnumFields)
                    {
                        TreeNode newnode = node.Nodes.Add(field.ToString());
                        newnode.Tag = field;
                        newnode.ImageIndex = newnode.SelectedImageIndex = 4;
                    }
                }
                else if (block is BfsBitfield)
                {
                    node.ImageIndex = node.SelectedImageIndex = 3;
                    foreach (BfsBitfieldField field in (block as BfsBitfield).BitFieldFields)
                    {
                        TreeNode newnode = node.Nodes.Add(field.ToString());
                        newnode.Tag = field;
                        newnode.ImageIndex = newnode.SelectedImageIndex = 4;
                    }
                }
                node.Expand();
            }
        }