检查泛型类实现接口是否更好地使用实例或类型(IsAssignableFrom)

时间:2017-07-19 12:10:20

标签: c# generics interface instance

  1. 使用实例
  2. if (new T() is ISoftDelete)

    1. 使用类型(IsAssignableFrom)
    2. if (typeof(ISoftDelete).IsAssignableFrom(typeof(T)))

      这两条线在效率方面是否有任何区别,哪一条线更好用。 T是Entity,它有默认的无参数构造函数,因此构造函数中没有任何内容。 我知道选项1.创建新实例,选项2.看起来像是使用反射。

      PS 这与链接问题不同,因为'obj'是现有对象,这里我只有通用类T,而不是实例,所以答案可能不一样。 这里的选项是调用空构造函数vs调用typeof()2次?

0 个答案:

没有答案