C#


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.

All Things to All People

Bigger is better. At least, that seems to be the philosophy at the Microsoft Developer Division.

Visual Basic and C# at the Crossroads

How the Microsoft co-evolution strategy has shaped the two flagship languages of the .NET Framework, and what it means for developers going forward.

Make Objects Look Alike... and Tell Them Apart

Here's everything you need to know to simplify your code about how to make classes look alike and then, when you need to, tell them apart.

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.

Developer Fail: Epoch Billing System

Everybody in the IT department was quite happy -- even a little surprised -- with how well the outsourced project to replace the legacy billing system was progressing.

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.

C# Object Equality in .NET

Explore ways to override the default concepts of object equality, based on reference and value types, in the Microsoft .NET Framework.

Understanding the Dynamic Keyword in C# 4

The dynamic keyword brings exciting new features to C# 4. Find out how it works and why it simplifies a lot of your coding tasks, including some handy COM interop possibilities.

The Factory Pattern in .NET (Part 3)

C# Corner columnist Patrick Steele concludes his exploration of factory patterns in .NET.

Abstract and Delegate-based Factories in .NET

In part 2 of a series of columns on using factory patterns, Patrick Steele shows how factory patterns can be used to make your applications more flexible.

Subscribe on YouTube

Upcoming Training Events