Skip to main content

Posts

Showing posts with the label reflection

How to create instance of generic class using reflection

In this post I am going to show how to create instance of generic class using c# reflection.The trick is to use the MakeGenericType to make the argument(s) and then call create Instance. Here is a code snippet:Type d1 = typeof(List<>); Type[] typeArgs = { typeof(string) }; Type makeme = d1.MakeGenericType(typeArgs); object o = Activator.CreateInstance(makeme); List<string> itsMe = o as List<string>;

How to convert DataSet to List

In this post I am going to show you a very useful c# code snippet that convert DataSet to List<T>. public static List<T> ToCollection<T>(this DataTable dt) { List<T> lst = new List<T>(); Type tClass = typeof(T); PropertyInfo[] pClass = tClass.GetProperties(); List<DataColumn> dc = dt.Columns.Cast<DataColumn>().ToList(); T cn; foreach (DataRow item in dt.Rows) { cn = (T)Activator.CreateInstance(tClass); foreach (PropertyInfo pc in pClass) { DataColumn d = dc.Find(c => c.ColumnName == pc.Name); if (d != null) { if (item[pc.Name] != DBNull.Value) { pc.SetValue(cn, (item[pc.Name]), null); } } } …