美文网首页
泛型构造传递参数实验

泛型构造传递参数实验

作者: 小蜻蜓队长 | 来源:发表于2019-09-16 17:59 被阅读0次

有时候,泛型构造需要传递参数,但是你加了约束类型new()那就几乎断了这条路,所用另辟蹊径采用Activator.CreateInstance,他会创建最接近的构造下面是实验代码和实验成果.

 class A {
        public Action<int> m_Action;
        public A(Action<int> action) {
            m_Action = action;
            Console.WriteLine("A构造完成");
            m_Action(5);
        }
        ~A() {
            Console.WriteLine("析构函数调用ok");
        }
    }
    class B:A {
        public B(Action<int> action):base(action){
            Console.WriteLine("B构造完成");
        }
    }

    class C {
        public static T CreateB<T>(Action<int> action) where T:A{
            T request = null;
            request = (T)Activator.CreateInstance(typeof(T), action);
            return request;
        }
    }

    class Program {
       static void action(int a) {
            Console.WriteLine(a + a);
        }

        static void Main(string[] args) {

            C.CreateB<B>(action);
        }
    }
输出

在unity使用Activator.CreateInstance的时候发现了一间非常惊悚的事情,被它创建出来的对象,即便是停止运行,他也不会被短时间内回收,这就非常的可怕了。(ps:这个问题查了我一早上!!!!!)
被他创建出来的对象需要继承IDisposable,关闭unity的时候自己手动回收,然后告诉GC这里已经不需要你来插手了,不然的话,你迅速运行,调用的就是对象的析构函数!!

相关文章

  • 泛型构造传递参数实验

    有时候,泛型构造需要传递参数,但是你加了约束类型new()那就几乎断了这条路,所用另辟蹊径采用Activator....

  • Swift参数及泛型参数参考!

    本节涉及泛型类型、泛型函数以及泛型构造器的参数,包括形参和实参。声明泛型类型、函数或构造器时,须指定相应的类型参数...

  • 泛型学习

    1.泛型是Java中参数化类型的方式。将类型也作为一种参数进行传递。2.它有泛型的方法,泛型参数,泛型类。3.泛型...

  • java基础-泛型

    一、泛型的定义 泛型:把数据类型当作参数一样来传递。所以也叫参数化类型; 二、泛型的使用场景 泛型集合把泛型定义在...

  • 泛型 17_9_5

    泛型:类型作为参数进行传递 using System.Collections.Generic; //引入泛型命名空...

  • Java 泛型

    为什么使用泛型 泛型就是“参数化类型”,就是把类型当作参数传递 对于为什么要使用泛型,我们先来举几个栗子 ?1: ...

  • javaSE_day13_泛型

    泛型:参数化数据类型;类,方法 ,构造器,接口 好处:编译器 进行类型检查; 泛型类:类名 <类型参数> 类型参数...

  • Java 泛型

    Java 泛型 什么是泛型 泛型,即“参数化类型”。一提到参数,最熟悉的就是定义方法时有形参,然后调用此方法时传递...

  • 泛型

    泛型就是对参数类型的增强。允许一些自定义类型作为泛型的参数类型泛型可以使用在类中、构造方法、方法、接口、数组中、还...

  • Android开发架构模型(三)泛型类、接口的使用及实战案例

    什么是泛型 泛型,即“参数化类型”。一提到参数,最熟悉的就是定义方法时有形参,然后调用此方法时传递实参。那么参数化...

网友评论

      本文标题:泛型构造传递参数实验

      本文链接:https://www.haomeiwen.com/subject/yrawyctx.html