Extension Methods & Interfaces

Interfaces are used to logically encapsulate definitions for a group of related functionalities, contains only the signatures of methods, properties, events or indexers. On the flip side — “extension methods enable you to ‘add’ methods to existing types without creating a new derived type, recompiling, or otherwise modifying the original type.” I suppose you already know it.

A famous man once said “with great power comes great responsibilities” – who said that what is that even mean, don’t matter. I said that because he said it. So now he was famous and getting said by two well known guys. urgh … let’s track this from the beginning…

Now the question arises, even if this was somehow ‘technically possible’ … why do you need it ? Continue reading Extension Methods & Interfaces

Team Foundation Dev Tools ( TFDT )

Few days back I started working on a utility project called Team Foundation Dev Tools ( http://ablaze8.github.io/TeamFoundationDevTools/ ). The goal is to extend the TFS api and serve some unmatched features like searching entire TFS server for some file and/or file path ( wild card and exact search ), commits by a specific user to any and/or project among all projects of a TFS server and such.

I’m not planning anything serious with it, just trying to build something I always wanted to see in an ideal TFS tool.

This is an open source tool and also supports .NET 3.5 & 4.5.2 so it’s compatible all the way back to Visual Studio 2008 running on Windows XP … up until latest and greatest !

Load Workflow from XML file in Workflow Foundation

The other day I had to use Windows Workflow Foundation in legacy .NET 3.5. The goal was to address the scenario where the power user may upload valid XML files … in an Enterprise Application for different workflows, In other words to avoid hard coding the workflow activities in C# code. So I had to essentially address 2 objectives :

  1. The workflow should be loaded dynamically on the fly
  2. There might be more than one workflows.

So I came up a simple design where the power user may upload a XML file and may give nick names … basically a mini XML file management. Then Continue reading Load Workflow from XML file in Workflow Foundation

Red Hat Commercial


If you’re families with Different Types of SQL Joins which are used to query data from more than one tables, LINQ has a JOIN query operator that provide SQL JOIN like behavior (and syntax … depending on which LINQ syntax you prefer Query or Fluent syntax). To drill down LINQ versus SQL join Continue reading Enumerable.Join

The short & sweet answer to : Why IQurayable Vs IEnumerble Or, List …

Fact: What happens with IQueryable<T> is different than with sequences. An instance of IQueryable<T> receives an expression tree it can inspect to decide what processing it should perform.

In principle, as soon as we start enumerating the content of object type; say Customers for example, then expression tree it contains gets analyzed, SQL is generated and executed, and the results of the database query are returned as Customers objects.I don’t want to go into detail about how things work here, but Continue reading The short & sweet answer to : Why IQurayable Vs IEnumerble Or, List …

Nested Lists ( ‘Jagged List’ )

Just like Jagged Arrays ( ? ) , it is legal to imagine some sort of ‘Jagged List’, or Nested List, which quite similarly lets us come up with multi-dimensional List datastructure hierarchies.

The code below would actually Continue reading Nested Lists ( ‘Jagged List’ )

Wanna bind an enum to Combobox / Dropdown ?

Many people prefer to bind an enum to a dropdown in their WinForms application. In the cases where we can not bring the values from backend/database, it makes sense to use enum as opposed to hard-coding values over and over again. Enumerations support a practice where a group of related constants may be created which later be viewed as string or integer values.

Before we see how could this be achieved in Windows Forms Application ( WinForms App ), ASP.NET WebForms, ASP.NET MVC ( even easier in MVC 5 ! ) as well as ASP.NET Web API, let’s talk about : ‘Why ?’

Why using Enum is preferred if combobox is not being flourished from DB ? Well, In addition to re-usability, there are some clear advantages :

Continue reading Wanna bind an enum to Combobox / Dropdown ?