private void SaveSchema <T>(string schema, FbSchemaBaseCollection <T> collection) where T : IFbSchemaItem { IFbSchemaItem item; string fileName = $"{_workPath}\\{schema}.log"; try { _log.MessageLn($"{strings.extractingSchema} {schema}..."); var table = GetShema(schema); using (StreamWriter sw = new StreamWriter(fileName, File.Exists(fileName))) { foreach (DataRow row in table.Rows) { item = collection.GetNewItem(); item.ProcessDataRow(row); foreach (DataColumn col in table.Columns) { sw.WriteLine("{0} = {1}", col.ColumnName, row[col]); } sw.WriteLine("============================"); } sw.Close(); } } catch (Exception e) { _log.ErrorLn($"{strings.error} {schema} - {e.Message}"); } }