Пример #1
0
        /// <summary>
        /// Provide a string representation of the object
        /// using ScriptItem rendering if available
        /// </summary>
        /// <param name="o">the object to render</param>
        /// <param name="indentations">starting indentation level</param>
        /// <returns></returns>
        public static string Render(object o, int indentations)
        {
            if (o == null)
                return String.Empty;

            StringWriter tw = new StringWriter();
            ScriptWriter sw = new ScriptWriter(tw);
            sw.CurrentIndentLevel = indentations;
            sw.Write(o);

            return tw.ToString();
        }
		/// <summary>
		/// Render to a text writer using the specified format provider
		/// </summary>
		/// <param name="writer"></param>
		/// <param name="formatProvider"></param>
		public void Render(TextWriter writer, IFormatProvider formatProvider)
		{
			IScriptWriter scriptWriter = new ScriptWriter(writer,formatProvider);
			Render(scriptWriter);
		}
		/// <summary>
		/// Render to a stream writer
		/// </summary>
		/// <param name="writer"></param>
		public void Render(StreamWriter writer)
		{
			IScriptWriter scriptWriter = new ScriptWriter(writer);
			Render(scriptWriter);
		}
		/// <summary>
		/// Render to a text writer
		/// </summary>
		/// <param name="writer"></param>
		public void Render(TextWriter writer)
		{
			IScriptWriter scriptWriter = new ScriptWriter(writer);
			Render(scriptWriter);
		}
		/// <summary>
		/// Rnder straight to a string using the specified format provider
		/// </summary>
		/// <param name="formatProvider">used when rendering</param>
		/// <returns></returns>
		public string Render(IFormatProvider formatProvider)
		{
			TextWriter textWriter = new StringWriter();
			ScriptWriter scriptWriter = new ScriptWriter(textWriter, formatProvider);

			Render(scriptWriter);

			return textWriter.ToString();
		}