Monday , 24 April 2017
Home » Technology » Development » StringControl

StringControl

StringControl, something I wrote last night to handle parsing of text between tags. I’m not too sure whether there’s another easier way to do it, but here’s what I came up with.



public class StringControl : Control {

  private string m_text;

  public StringControl() {

  }

  public StringControl(string text) {

    m_text = text;

  }

  public string Text {

    get { return m_text; }

    set { m_text = value; }

  }

  protected override void AddParsedSubObject(object obj) {

    if ( obj is LiteralControl ) {

      m_text = ((LiteralControl)obj).Text;

    }

  }

}



Why did I create a simple control like this? It’s basically to handle this situation easily.



<sgdn:ModuleItem href="testhref" forumref="testforumref">

  <heading>Testing Heading</heading>

  <text>Testing Text</text>

</sgdn:ModuleItem>



Notice if I wanted to do that way, I needed to create a control to parse the text between <heading> and <text&gt. The code is something like this.



[ NotifyParentProperty(true), PersistenceMode(PersistenceMode.InnerProperty) ]
public HeadingControl Heading {

  get { return new HeadingControl(m_heading); }

  set { m_heading = value.Text; }

}

[ NotifyParentProperty(true), PersistenceMode(PersistenceMode.InnerProperty) ]
public TextControl Text {

  get { return new TextControl(m_text); }

  set { m_text = value.Text; }

}



So basically I consolidated the logic for both HeadingControl and TextControl into 1 class called StringControl which will parse the inner text of the tags.

Fantastic don’t you think? But I’d prefer if there’s a better way to do.

About Justin Lee

Check Also

Apple WWDC 2014 Videos Podcast RSS Feed Generator using XSLT

I realised there isn’t any podcast subscription link for the Apple WWDC 2014 videos at …

Leave a Reply