Rx Sample Application: From Requirements to Implementation

Table of Contents IntroRequirementsRx ThinkingQuick DesignThe AppImplementationReactive ProviderReactive ConsumerSource Code Intro The purpose of this post is to put in practice and crystallise what we learnt in the Reactive Programming post. The deliverable of this post is a desktop application built with WPF (MVVM) and Rx. However, the concepts apply to any UI framework; web, mobile,…

Insights on Linq Count() vs Count Property

In this post I am investigating the difference between Count property and Count() extension method of the .NET enumerable. Below code snippet sets the scene of what we trying to answer.

As in the previous post will start by decompiling the System.Core 4.0.0.0 dll.

The Linq Count() extension method behaves differently based on the…

Insights on Linq Any() Performance

The Enumerable.Any<TSource>() is an extension method that lives in System.Core assembly under System.Linq namespace. If you are wondering what happens with the extended enumerable source then this is the right post. In the right gets enumerated or not then we would have to look at the implementation. In System.Core 4.0.0.0 the Any(…) method comes with two overloads which is worth investigating. Simply…

Insights on .NET Concurrency: Reactive Programming

Table of Contents IntroMotivationBuilding BlocksObservable.CreateObservable TemperatureSubject ClassRx ConcurrencyParallel ExecutionAsynchronous ExecutionNext Intro This is the last form of concurrency we are going to cover in Insights on .NET Concurrency series. Reactive programming is a programming paradigm that is built on the concept of asynchronous data streams. Each asynchronous event feeds into a stream of events, where the stream can be…

Infragistics XamDataGrid – Dynamic Columns using Attached Behavior

I am sharing the code of an Attached Behavior that dynamically populates the columns of an Infragistics data grid; XamDataGrid Control. This post is based on XamDataGrid–Dynamically Create and Data Bind Columns with an Editor of your Choice.   So What’s New Here? The dynamic column creation implementation is packaged up in an extensible and unit testable…