ienumerableconverter.cs

来自「AJAX开发工具包」· CS 代码 · 共 55 行

CS
55
字号
using System;
using System.Reflection;
using System.Text;
using System.Collections;
using System.Collections.Specialized;

namespace AjaxPro
{
	/// <summary>
	/// Provides methods to serialize and deserialize an object that implements IEnumerable.
	/// </summary>
	public class IEnumerableConverter : IJavaScriptConverter
	{
		public IEnumerableConverter() : base()
		{
		}

		public override string Serialize(object o)
		{
			if(!(o is IEnumerable))
				throw new NotSupportedException();

			StringBuilder sb = new StringBuilder();
			IEnumerable enumerable = (IEnumerable)o;
			bool b = true;

			sb.Append("[");
				
			foreach(object obj in enumerable)
			{
				if(b){ b = false; }
				else{ sb.Append(","); }

				sb.Append(JavaScriptSerializer.Serialize(obj));
			}

			sb.Append("]");

			return sb.ToString();
		}

		public override Type[] SerializableTypes
		{
			get
			{
				return new Type[]{typeof(IEnumerable)};
			}
		}




	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?