• 泛型,动态创建List<T> (转摘)


    第一种:

           static void Main()
            {
                object intList = MakeList(typeof(int), 1, 2, 3);
                object strList = MakeList(typeof(string), "sdfd", "fet");

                //List<int>
                foreach(object obj in (System.Collections.IEnumerable)intList)
                    Console.WriteLine(obj);

                //List<string>
                foreach(object obj in (System.Collections.IEnumerable)strList)
                    Console.WriteLine(obj);
            }

            static object MakeList(Type t, params object[] items)
            {
                Type type = typeof(List<>).MakeGenericType(t);

                object list = Activator.CreateInstance(type);
                System.Collections.IList ilist = list as System.Collections.IList;
                foreach (object o in items)
                    ilist.Add(o);
                return list;
            }

    第二种:


        public class Main<T> where T: new()
        {
            public void work()
            {
                T t = new T();
                //string s = t.GetName();
            }
        }
    //调用
    Main<A> m = new Main<A>();
    m.work();

  • 相关阅读:
    react组件通信方式总结
    js实现@提到好友
    Vue的事件修饰符
    前端数据脱敏处理方法
    Vue 开发必须知道的36个技巧(
    vue函数式组件
    js中arraybuffer与blob的区别
    JS的二进制:Blob、ArrayBuffer和Buffer
    java中字节流与字符流的区别
    [Hei-Ocelot-Gateway ].Net Core Api网关Ocelot的开箱即用版本
  • 原文地址:https://www.cnblogs.com/coolsundy/p/3775800.html
Copyright © 2020-2023  润新知