Click here to Skip to main content
Click here to Skip to main content
Go to top

Anonymous Types

, 11 Oct 2013
Rate this:
Please Sign up or sign in to vote.
It's now possible to create class definitions on the fly.  This is the concept of anonymous types, where the type is based on the signature of the

Editorial Note

This articles was originally at wiki.asp.net but has now been given a new home on CodeProject. Editing rights for this article has been set at Bronze or above, so please go in and edit and update this article to keep it fresh and relevant.

It's now possible to create class definitions on the fly.  This is the concept of anonymous types, where the type is based on the signature of the class.  To create an anonymous type, use the following:

new { First = "B", Second="C" };

With this new type, we now have a new class with a First property of type string, and a Second property of type string.  However, nothing happens with the class because we have to store it somewhere.  This is where the "var" keyword comes into play:

var stringValue = "X";
var instance = new { First = "B", Second = stringValue };

Instance now represents our anonymous type. The compiler will parse the above syntax and create a standard CLR type which has 2 properties First and Second and assign these properties type based on the inilization values. Here both the property will have type string as they have been inilized as string.

 In Visual Studio 2008, there is full intellisense support for this.  When creating an anonymous type, make sure a value is supplied to the property, or that it can infer the type from a variable; otherwise, if a null is supplied, a compile error occurs.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

Share

About the Author

ASP.NET Community

United States United States
The ASP.NET Wiki was started by Scott Hanselman in February of 2008. The idea is that folks spend a lot of time trolling the blogs, googlinglive-searching for answers to common "How To" questions. There's piles of fantastic community-created and MSFT-created content out there, but if it's not found by a search engine and the right combination of keywords, it's often lost.
 
The ASP.NET Wiki articles moved to CodeProject in October 2013 and will live on, loved, protected and updated by the community.
Group type: Collaborative Group

247 members


Comments and Discussions

 
-- There are no messages in this forum --
| Advertise | Privacy | Mobile
Web04 | 2.8.140916.1 | Last Updated 11 Oct 2013
Article Copyright 2013 by ASP.NET Community
Everything else Copyright © CodeProject, 1999-2014
Terms of Service
Layout: fixed | fluid