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

Customized Online Learning Dangerous as it is Necessary

The recent uprise in Online Learning Platform like Pluralsight, Coursera has raised some important questions over traditional learning system and also on traditional examination systems.
The fact that online learning courses are derived from what users need and not what should be actually taught has also raised serious concerns about what is finally going inside the heads of professionals.

Traditional system while teaching any subject also includes major things that might never be used in real life but still is important to actual context of that particular subject. The syllabus goes through the hands of experts before finally reaching the learners. Online education / Videos have completely disrupted this system and now only what is needed is taught leaving out all the motivational factors and context of the subject that brings glamour and other related attributes to the identity of the subject.

So yes while system has to evolve to teach students more than C++ in today's world bu…

Data manipulation in azure development storage by using web services – workaround

While developing the Azure project this was the biggest problem I came across and being just a newcomer in this area I could not solve it. So I figured a way around that worked perfectly well and then I used it to finally make a working project. Nearly all the solutions I came across in the different portals were about the same problem without the development storage anywhere in question but for the people who first need to make a working solution in the development storage using anything like the VS2010 there was no help nowhere. The problem was that while accessing data which was stored in a blob in cloud storage through a web service by a Silverlight client. It gives an impression to the storage of the cloud that this is being done by cross site scripting (this is what I got from all the different sources I read) and because this was not allowed the cloud project (webrole in my case) was blocking the request and was returning nothing in return. So this solution that I figured out is …