Visual Studio Blog

The official source of product insight from the Visual Studio Engineering Team

Announcing the Visual Studio Blog!
Announcing the Visual Studio Blog!
Since this week is already filled with other notable launches, we figured it would be fitting to unveil one more important launch: The Visual Studio Blog!  Since the majority of our users are utilizing not just one, but multiple aspects of Visual Studio in their daily development, we wanted to take the same approach with our blog and poin
Dynamic in C# 4.0: Creating Wrappers with DynamicObject
Dynamic in C# 4.0: Creating Wrappers with DynamicObject
In the previous post I showed how you can use the new dynamic feature and the ExpandoObject class to add and remove properties at run time, and how this can make your code more readable and flexible than code written with LINQ to XML syntax. But there were some obvious flaws in that example: While ExpandoObject provided better syntax, LINQ to
Dynamic in C# 4.0: Introducing the ExpandoObject
Dynamic in C# 4.0: Introducing the ExpandoObject
You have probably already heard about the new dynamic feature in C# 4.0 and how it is used to support COM interop. If you haven't, I strongly recommend reading the following MSDN articles: Using Type dynamic and How to: Access Office Interop Objects by Using Visual C# 2010 Features. Well, where else can you use this new feature? What are the u
Generating Dynamic Methods with Expression Trees in Visual Studio 2010
Generating Dynamic Methods with Expression Trees in Visual Studio 2010
Expression trees first appeared in Visual Studio 2008, where they were mainly used by LINQ providers. You can use expression trees to represent code in a tree-like format, where each node is an expression. You can also convert expression trees into compiled code and run it. This transformation enables dynamic modification of executable code as
How to use LINQ methods to compare objects of custom types
How to use LINQ methods to compare objects of custom types
LINQ provides a convenient syntax and many useful methods for operating with collections of objects. However, to be correctly processed by LINQ comparison methods such as Distinct or Intersect, a type must satisfy certain requirements.Let’s take a look at the Distinct method, which returns all distinct objects from a collection.List<i