예제 #1
0
		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;
		}
예제 #2
0
        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);
        }