static void Main() { string connectionString = ""; Lazy <DataInitializedFromDb> _data = new Lazy <DataInitializedFromDb>(delegate { using (SqlConnection conn = new SqlConnection(connectionString)) using (SqlCommand comm = new SqlCommand()) { SqlDataReader reader = comm.ExecuteReader(); DataInitializedFromDb data = new DataInitializedFromDb(reader); return(data); } }); //… // use the data if (_data.Value.Count > 10) { ProcessData(_data.Value); } }
static void ProcessData(DataInitializedFromDb data) { }