C#


WPF and Inversion of Control

Use Inversion of Control to decouple views and viewmodels in WPF.

Multilevel Sorting with IComparable and IComparer

IComparable and IComparer sound the same and work in similar ways, but there are important differences you need to know.

To Think in LINQ

If you start "thinking in LINQ" you'll get more done with less code, and what you write will be simpler than using SQL.

Leverage Lazy Loading in .NET 4.0

Lazy Loading is a programming pattern useful for resource-intensive objects.

A Bit Unwise

Was "Calvin code" genius or tomfoolery?

Using Razor with Visual Basic

Build a Web site using MVC 3 and the Razor View Engine.

Advanced AOP Techniques

Aspect Oriented Programming is great for handling cross-cutting concerns such as logging, security, and threading.

Survey Reveals Shifting Cloud Attitudes

Developers increasingly prefer cloud-based development tooling.

Deep Dive: Task-Based Asynchronous Pattern

This article introduces the TAP and the associated .NET language changes that streamline asynchronous programming and extend the multithreading enhancements in the Microsoft .NET Framework 4.

C# Questions Answered: Lambda, C# Traps, Unsafe Code

Patrick Steele responds to questions about Lambda properties, interface-based code, and unsubscribing from events, among others.

Tear-Off ToolStrips in Windows Forms

Starting with Microsoft Office, users have been able to double-click or drag a toolbar and have it become a floating window that can be moved or docked to the side of the application window. Here's how to implement a basic version of this behavior in C# Windows Forms applications.

C# Practice Makes Perfect

For years, nobody cared that the legacy image-syncing application consumed as much bandwidth and processing time as it did.

Letters: Readers Sound Off About HTML5

Robby Ingebretsen's July VSInsider column on HTML5 produced plenty of opinions.

Threats or Opportunities?

Microsoft faces new threats today, like smartphones and tablets, but are they more severe than past ones?

Reactive Extensions: Just What the Doctor Ordered (Part 3)

In the final installment of this three-part series on Reactive Extensions for .NET, Eric Vogel shows how to put together all the pieces to create a working, reactive application.

Reactive Extensions: Just What the Doctor Ordered (Part 2)

In Part 1, VSM columnist Eric Vogel covered the basics of the Reactive Extensions (Rx) library. In this installment he explores how to observe asynchronous methods, tasks and events, as well as how to compose observable sequences using LINQ.

.NET Languages at the Crossroads

Readers respond to the May cover story (".NET at the Crossroads") on the direction of C# and Visual Basic.

Lambda Properties: An Alternative to Subclassing?

This article will introduce you to the concept of exposing parts of your application logic as lambda properties. By making these properties read/write, you can plug in specific functionality with more control than subclassing.

Reactive Extensions: Just What the Doctor Ordered (Part 1)

The Reactive Extensions (Rx) Library is a set of extensions for the IObservable<T> and IObserver<T> interfaces that greatly simplifies the orchestration and composition of asynchronous functions and events.

Clear Cross-Cutting Concerns with Aspect Oriented Programming in .NET

How to use the PostSharp AOP library to encapsulate cross-cutting concerns into efficient and re-usable modules.

Subscribe on YouTube