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. Now the question arises, even if this was somehow ‘technically possible’ … why do you need 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…
Continue reading Extension Methods & Interfaces
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 !
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 :
- The workflow should be loaded dynamically on the fly
- 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
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
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 …
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’ )