public static SQRow ReadRow(BinaryReader reader) { try { string tableName = reader.ReadString(); Type tableType = GetTypeByName(tableName); object row = Activator.CreateInstance(tableType); var fields = tableType.GetFields(); foreach (var field in fields) { Type varType = field.FieldType; object data = null; if (varType == typeof(string)) { data = reader.ReadString(); } else if (varType == typeof(int)) { data = reader.ReadInt32(); } else if (varType == typeof(DateTime)) { string date = reader.ReadString(); data = new DATETIME().FromSqlString(date); } if (data != null) { field.SetValue(row, data); } } return((SQRow)row); } catch { return(null); } }
public static void Parse(string sDebug, string sVal, ref DATETIME o) { o.test = 1; }