First time here? Check out the site's "greatest hits" or read a post from the archives. Feel free to leave a comment or ask a question, and consider subscribing to the latest posts via RSS or e-mail. Thanks for visiting!
Do you Tweet? Follow me on Twitter @shanselman or learn how to use Twitter!
« Hanselminutes Podcast 7 | Main | Windows Defender Errors 0x8024402c 0x802... »

Coderush2What fun I'm having. I'm collaborating on a project for work. We're still using Visual Studio 2003 and .NET 1.1, but we're still wildly productive.

One interesting thing I've learned is that I lean on the libraries, while Paul, my counter-part leans on the language. He knows what language constructs to use and I know what BCL methods to use. Together we make an effective pair, but this realization helped us both better understand our weak areas. One can write lots of C in C#, if you know what I mean.

Do you lean on the language or the libraries?

We've been doing some fun stuff with XML lately, you might have noticed. We've used:

Also. we're using:

class KindOfPartialSgmlButMoreOfAnOfxXmlWriter : XmlWriter

{

    public KindOfPartialSgmlButMoreOfAnOfxXmlWriter(TextWriter w)

    {

        _htmlWriter = new HtmlTextWriter(w);

    }

 

    public override void Close()

    {

        _htmlWriter.Close();

    }

 

    private Stack _tags = new Stack();

    private HtmlTextWriter _htmlWriter = null;

    private bool _suppressNextEndElement = false;

    private bool _suppressNextText = false;

    private string _previousElement = null;

 

    public override void WriteStartElement(string prefix, string localName, string ns)

    {

        _htmlWriter.WriteFullBeginTag(localName);

        _previousElement = localName;

        _tags.Push(localName);

    }

 

    public override void WriteString(string text)

    {

        if (_suppressNextText == false)

        {

            _htmlWriter.Write(text);

            _suppressNextEndElement = true;

        }

    }

 

    public override void WriteEndElement()

    {

        string endtag = _tags.Pop() as string;

        if (_suppressNextEndElement && endtag == _previousElement)

        {

            _suppressNextEndElement = false;

        }

        else

        {

            _htmlWriter.WriteEndTag(endtag);

        }

    }

 

    public override void Flush()

    {

        _htmlWriter.Flush();

    }

 

    public override void WriteWhitespace(string ws)

    {

        _htmlWriter.Write(ws);

    }

 

    public override void WriteRaw(string data)

    {

        _htmlWriter.Write(data);

    }

 

    public override void WriteChars(char[] buffer, int index, int count)

    {

        _htmlWriter.Write(buffer, index, count);

    }

 

    public override void WriteQualifiedName(string localName, string ns)

    {

        _htmlWriter.WriteBeginTag(localName);

    }

 

    public override void WriteEndAttribute()

    {

        _suppressNextText = false;

    }

 

    public override void WriteStartAttribute(string prefix, string localName, string ns)

    {

        _suppressNextText = true;

    }

 

    public override void WriteRaw(char[] buffer, int index, int count)

    {

        _htmlWriter.Write(buffer,index,count);

    }

 

    public override void WriteProcessingInstruction(string name, string text)

    {

        _htmlWriter.Write(text);

    }

  

    #region Stubs

 

    ...here are overriden versions of everything else from XmlWriter, stubbed and not used. Removed for tidiness

 

    #endregion

}

 

 



Thursday, February 23, 2006 1:48:55 AM (Pacific Standard Time, UTC-08:00)
If you like the new CC metric feature of CodeRush, you might also consider using Mark Miller's metric (http://www.doitwith.net/CommentView.aspx?guid=39a0e537-5d0e-4f9b-ac5c-51e8b3d1d4ec) that is implemented in the following DxCore plugin - https://sourceforge.net/projects/crplugin/.
Thursday, February 23, 2006 3:35:01 AM (Pacific Standard Time, UTC-08:00)
Oh and don't think we haven't noticed that cute little guy you sneak into your screen shots ;).
Comments are closed.

Contact

Sponsors

Hosting By

Hot Topics

Tags

Calendar

<November 2009>
SunMonTueWedThuFriSat
25262728293031
1234567
891011121314
15161718192021
22232425262728
293012345

Archives

November, 2009 (5)
October, 2009 (19)
September, 2009 (11)
August, 2009 (12)
July, 2009 (21)
June, 2009 (26)
May, 2009 (16)
April, 2009 (13)
March, 2009 (17)
February, 2009 (17)
January, 2009 (18)
December, 2008 (32)
November, 2008 (17)
October, 2008 (22)
September, 2008 (16)
August, 2008 (14)
July, 2008 (25)
June, 2008 (19)
May, 2008 (17)
April, 2008 (17)
March, 2008 (26)
February, 2008 (21)
January, 2008 (28)
December, 2007 (19)
November, 2007 (17)
October, 2007 (31)
September, 2007 (39)
August, 2007 (37)
July, 2007 (43)
June, 2007 (37)
May, 2007 (32)
April, 2007 (38)
March, 2007 (29)
February, 2007 (46)
January, 2007 (31)
December, 2006 (27)
November, 2006 (31)
October, 2006 (32)
September, 2006 (39)
August, 2006 (34)
July, 2006 (40)
June, 2006 (18)
May, 2006 (31)
April, 2006 (34)
March, 2006 (30)
February, 2006 (38)
January, 2006 (44)
December, 2005 (19)
November, 2005 (34)
October, 2005 (24)
September, 2005 (37)
August, 2005 (20)
July, 2005 (24)
June, 2005 (33)
May, 2005 (16)
April, 2005 (22)
March, 2005 (34)
February, 2005 (15)
January, 2005 (37)
December, 2004 (28)
November, 2004 (30)
October, 2004 (34)
September, 2004 (22)
August, 2004 (34)
July, 2004 (18)
June, 2004 (64)
May, 2004 (49)
April, 2004 (21)
March, 2004 (29)
February, 2004 (29)
January, 2004 (36)
December, 2003 (25)
November, 2003 (24)
October, 2003 (59)
September, 2003 (42)
August, 2003 (24)
July, 2003 (44)
June, 2003 (29)
May, 2003 (21)
April, 2003 (30)
March, 2003 (27)
February, 2003 (47)
January, 2003 (50)
December, 2002 (31)
November, 2002 (38)
October, 2002 (44)
September, 2002 (15)
May, 2002 (2)
April, 2002 (4)

Google Ads