Skip to main content

Dynaminism in .Net 4.0

few dayz ago came across THIS question.
the solution to this can easily be figured out by the new dynamic features introduced in .Net 4.0.
i have made a project to demonstrate this.
the main code in the project goes like this

public static dynamic[] GetDynamicObject(DataTable dt, Dictionary<stringstring> mapping)
        {
            List<dynamic> returnList = new List<dynamic>();
            foreach (DataRow row in dt.Rows)
            {
                dynamic obj = new ExpandoObject();
                var objectDic = (IDictionary<stringobject>)obj;
                foreach (DataColumn column in dt.Columns)
                {
                    objectDic.Add(mapping!=null?mapping.ContainsKey(column.ColumnName) ? mapping[column.ColumnName] : column.ColumnName:column.ColumnName,row[column]);
                }
                returnList.Add(obj);
            }
            return returnList.ToArray();
        }
The static method here named "GetDynamicObject" simply takes a data table(which can be populated by the data in the database) and a dictionary of <string,object> as the mapping. 
then for each row in the DataTable the method makes a dynamic Object of type ExpandoObject which was introduced for the sole purpose of adding and consuming the propertiese at runtime. more info about expando object can be got from here(MSDN link).

The full project i made is available here(Sky Drive link).

Comments

  1. i dont what happend with the formatting.. so had to do this.. itz still readable... nd that solves the purpose

    ReplyDelete
  2. i liked content of your blog.but i couldn't read ur font well.i used 16px for my blog:http://intechera.blogspot.com

    ReplyDelete

Post a Comment

Popular posts from this blog

ParameterLess construct

When I was creating my first cloud app that’s used Microsoft Azure for storage and computation purposes I came across a strange problem which wasn’t related to the Azure itself but was more related to the c# and the .net framework. When I was writing the code I made a Class which had no parameter less construct. Objects of this class were then used in the program. Because this class was derived from Ienumerator I could actually user Foreach() on the objects of this class but to my surprise the code shown below was showing error at the highlighted line. using System; using System.Collections.Generic; using System.Linq; using System.Web; using Microsoft.WindowsAzure.StorageClient; using Microsoft.WindowsAzure; namespace WebRole1 { public class mspDataServiceContext : TableServiceContext { public mspDataServiceContext(string baseAddress, StorageCredentials credentials) : base(baseAddress, credentials) { } static int c; public IQueryable<msp> msps { get { retur...

Its a Dynamic(javascript) world

I thought we are living in a world which looked like this ||(or) mayb this http://www.ihatejavascript.com/ .. LOL being a web developer i was working with javascript and also at the same time i always preferred to work with something else... Silverlight, Flash mayb.. till recently.. i actually saw what JAVASCRIPT is || has become in the time i worked on ASP.Net MVC. Javascript evolved from a dynamic sort of functional language that was differently implemented by nearly every browser(and yes that was for you IE6 ) and every one hated him and i thought it still is that ulgy thing. till i just stumbled upon THIS This is an old video.. someone was just trying to bring the Javascript to server side. so now same developer /*Who a Javascript developer?*/ can work on both the sides.. client as well as web. and thought that things like these shouldn't be allowed on internet maybe because its a hour long video and now has around 233,492 views just consider the am...

Problem with Google visualization API- DataTable

One of the most widely charting API is the Google visualization API . Which enables the developers to create charts using javascript at runtime by supplying the data in a particular format. I had to use this API with ASP.Net. So the major problem in front of me was how to transfer the data in my database to the client side JavaScript. Which I could solve by using .ashx pages. I created my own class for transforming .Net DataTable to a JSON string. The final problem that I faced was that when I transferred the JSON string to the client side using Jquery AJAX method though it was parsing the JSON correctly. The Google DataTable was being formed correctly the final AnnonatedTimeline I was trying to make with that JSON data was showing errors. So to debug I created a Google DataTable manually and converted it into JSON using the method it provides. The JSON string that was given out by Google’s very own DataTable and my JSON string were exact match still, still mine was showing ...