public static object FromScalars(Type t, StringReader r, ContinueAtDelegate c) { var n = Activator.CreateInstance(t); var f = t.GetFields(); var x = r.ReadLine(); while (x != null) { if (x.StartsWith(Indent)) { var i = x.IndexOf(Assignment); var FieldName = x.Substring(Indent.Length, i - Indent.Length); var FieldValue = x.Substring(i + Assignment.Length); t.SetFieldValue(FieldName, n, FieldValue); x = r.ReadLine(); } else { c(x); x = null; } } return n; }
public static object FromScalars(Type t, StringReader r, ContinueAtDelegate c) { var n = Activator.CreateInstance(t); var f = t.GetFields(); var x = r.ReadLine(); while (x != null) { if (x.StartsWith(Indent)) { var i = x.IndexOf(Assignment); var FieldName = x.Substring(Indent.Length, i - Indent.Length); var FieldValue = x.Substring(i + Assignment.Length); t.SetFieldValue(FieldName, n, FieldValue); x = r.ReadLine(); } else { c(x); x = null; } } return(n); }