C# Corner


WPF and Inversion of Control

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

Leverage Lazy Loading in .NET 4.0

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

Advanced AOP Techniques

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

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.

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.

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.

Extending a C# Application Through a Scripted DLR Language

The DLR Hosting API allows a DLR language to be scripted from a CLR language such as C# and VB.NET, extending the functionality of an application through scripts coded in one of the many DLR supported languages.

Asynchronous Programming with the Async CTP

The Async CTP and async and await keywords allow C# (and VB) developers to easily create more responsive applications. Here's how to get started with the Async CTP.

Using Expression Trees in Your APIs

How to translate C# code into expression trees to eliminate strings, standardize parameter validations and interact with other data structures.

Asynchronous Programming in .NET: I'll Call You Back

VSM Web columnist Eric Vogel kicks off his first C# Corner installment with a walk through creating an application using asynchronous programming.

My Biggest C# Programming Mistake

C# Corner columnist Patrick Steele recounts an avoidable mistake he made during a transition from WebForms to ASP.NET MVC, and what he learned from his gaffe.

Tips for Easier C# Unit Testing

C# Corner columnist Patrick Steele says writing unit tests can be a time-consuming chore. He looks at some approaches that can make writing unit tests easier and more efficient for C# programmers.

Subscribe on YouTube