Alsing.Windows.Forms.CoreLib.FormatLabelControl.CreateElements C# (CSharp) 메소드

CreateElements() 개인적인 메소드

private CreateElements ( ) : Alsing.Windows.Forms.FormatLabel.Element[]
리턴 Alsing.Windows.Forms.FormatLabel.Element[]
        private Element[] CreateElements()
        {
            string text = Text.Replace("\n", "");
            text = text.Replace("\r", "");
            string[] parts = text.Split('<');
            var elements = new List<Element>();
            int i = 0;
            foreach (string part in parts)
            {
                var cmd = new Element();

                if (i == 0)
                {
                    cmd.Text = part;
                }
                else
                {
                    string[] TagTextPair = part.Split('>');
                    cmd.Tag = TagTextPair[0].ToLowerInvariant();
                    if (cmd.Tag.IndexOfAny(" \t".ToCharArray()) >= 0)
                    {
                        int ws = cmd.Tag.IndexOfAny(" \t".ToCharArray());
                        string s1 = TagTextPair[0].Substring(0, ws).ToLowerInvariant();
                        string s2 = TagTextPair[0].Substring(ws + 1);
                        cmd.Tag = s1 + " " + s2;
                    }


                    cmd.Text = TagTextPair[1];


                    if (cmd.TagName == "img")
                    {
                        var img = new Element
                                  {
                                      Tag = cmd.Tag
                                  };

                        elements.Add(img);
                        cmd.Tag = "";
                        //	Elements.Add (cmd);					
                    }
//
//					if (cmd.TagName == "hr")
//					{
//						Element hr=new Element();
//						hr.Tag = cmd.Tag;					
//						Elements.Add (hr);
//						cmd.Tag ="";
//						cmd.Text ="a";
//						//	Elements.Add (cmd);					
//					}

                    cmd.Text = cmd.Text.Replace("\t", "     ");
                    cmd.Text = cmd.Text.Replace("&#145;", "'");
                    cmd.Text = cmd.Text.Replace("&#146;", "'");


                    cmd.Text = cmd.Text.Replace(" ", ((char) 1).ToString());
                    cmd.Text = HttpUtility.HtmlDecode(cmd.Text);
                    //	cmd.Text =cmd.Text.Replace (" ","*");
                    cmd.Text = cmd.Text.Replace(((char) 1).ToString(), " ");
                }


                elements.Add(cmd);
                i++;
            }

            var res = new Element[elements.Count];
            elements.CopyTo(res);
            return res;
        }