日期:2014-05-16  浏览次数:20403 次

如何反射出ICollection<T>中T的类型
ICollection<T> list = ...
如何反射出list对象中T的类型
类似于list.GetType().InnerType
------解决方案--------------------
    /// <summary>
        /// 反序列化
        /// </summary>
        /// <typeparam name="T">类型</typeparam>
        /// <param name="sJson">json字符串</param>
        /// <returns></returns>
        public static T Deserialize<T>(string sJson)
        {
            DataContractJsonSerializer ds = new DataContractJsonSerializer(typeof(T));
            MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(sJson));
            T obj = (T)ds.ReadObject(ms);
            ms.Close();
            return obj;
        }

------解决方案--------------------
Type.GetGenericArguments 方法 
http://msdn.microsoft.com/zh-cn/library/system.type.getgenericarguments.aspx