Implementation of Generic SQL Data Reader
GetList()  


SqlConnection, SqlCommand and SqlDataReader are all implementing the IDisposable interface hence you should either call Dispose()  on that objects or enclosing them in a using block.  
You should use var instead of the concrete type if the right-hand-side of an assignment makes the concrete type obvious.
E.g the line SqlConnection con = new SqlConnection(ConStr); we can see at first glance that the concrete type   is SqlConnection and therfor we should use var con = new SqlConnection(ConStr); instead.
Using abbreviations for naming things shouldn't be done because it makes reading and maintaining the code so much harder.  
Underscore-prefixed variablenames are usually used for class-level variables. Method-scoped variables should be named using camelCase casing hence list would be better than _list because Sam the maintainer wouldn't wonder about it.  
You return an IList&lt;&gt; which is good because coding against interfaces is the way to go.