Daily Archives: January 23, 2008

New Burlington PHP User Group! Next meeting is Wed, January 30th

Burlington, VT PHP Users Group Meeting

RSVP Required

When: Wednesday January 30th, 2008, 5:30 pm – 7:30 pm
Where: Brown & Jenkins Coffee Roasters, 91 Ethan Allen Drive, South Burlington, VT 05403

Topics 

Bradley Holt will be giving a presentation on developing a web application using Zend Framework. Bradley Holt is founder and web developer for Found Line, a local design and development studio which has used Zend Framework in several recent projects. He also works as a software developer for a local non-profit. Before starting Found Line he worked as computer trainer teaching a variety of subjects including Java/JSP, ASP.NET, and PHP.

Other topics will include:

  • What tools do you use for your development environment?
  • What subjects and presenters would you like to see in future?

Refreshments – coffee and snacks – will be provided, and you’ll have the chance to network and connect with fellow PHP developers.

To Participate

  1. RSVP by email to Rob Riggen <rob@riggen.org>.
  2. Sign up for the Burlington, VT PHP User Group list on Google Groups.
  3. Forward this link to anyone else you feel would be interested in the topics above.

Mutable and immutable anonymous types in VB

Bill McCarthy explained this to me in an email.

He wrote about it in this excellent article in Visual Studio Magazine “Drill Down on Anonymous Types“.

But it still bit me in the ass!

So I am stamping this into my memory:

in a queryresults in
…select cust.CustomerID.cust.CompanyName…  Immutable anonymous type
…select New With {
                                .CustomerID=cust.CustomerID,
                                .CompanyName=cust.CompanyName} …
Mutable anonymous type
…select New With {
                             Key .CustomerID=cust.CustomerID,
                             Key.CompanyName=cust.CompanyName} …
Immutable anonymous type
Direct creation of object 
New With {
                 .CustomerID=cust.CustomerID,
                 .CompanyName=cust.CompanyName}
Mutable anonymous type
New With {
                  Key .CustomerID=cust.CustomerID,
                  Key .CompanyName=cust.CompanyName}
Immutable anonymous type

And just in case someone who really needs this stumbles on this post, two clarifications:

  1. All anonymous types are immutable in C#.
  2. Mutable means changeable, editable. Immutable means written in stone.