测试是否可以使用Activator实例化一个类类型而不实例化它

反应式

目前,当我有一个类类型并且需要知道是否可以创建该类时。我将致电Activator.CreateInstance(type);并丢弃结果。

这似乎效率很低而且有问题。

有没有其他方法可以确认可以为当前应用程序实例化类类型?

我需要在应用程序启动过程中进行此测试。为了确保尽早发现任何配置错误。如果我在需要该类的实例之前将其保留,那么当没有人修复它时可能会发生错误。

这是我现在要做的。

        string className = string.Format("Package.{0}.{1}", pArg1, pArg2);
        Type classType = Type.GetType(className);
        if (classType == null)
        {
            throw new Exception(string.Format("Class not found: {0}", className));
        }

        try
        {
            // test creating an instance of the class.
            Activator.CreateInstance(classType);
        }
        catch (Exception e)
        {
            logger.error("Could not create {0} class.", classType);
        }
比泽迪

根据此处的内容,您可以测试类型是否包含无参数构造函数(默认情况下将提供无类的类),以及类型是否不是抽象的:

if(classType.GetConstructor(Type.EmptyTypes) != null && !classType.IsAbstract)
{
     //this type is constructable with default constructor
}
else
{
   //no default constructor
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

测试是否可以使用Activator实例化一个类类型而不实例化它

来自分类Dev

是否可以确定实例化一个类的当前实例的类的实例?

来自分类Dev

是否可以使用初始化列表实例化一个类并调用一个方法,所有这些都在单个命令中?

来自分类Dev

从类调用方法而不实例化它

来自分类Dev

能够声明一个对象而不实例化它的意义何在?

来自分类Dev

WPF:XAML:给 DataContext 一个名称而不实例化它

来自分类Dev

是否可以在 App() 中修改不同类中的变量而不实例化类的新实例

来自分类Dev

我可以基于a的类型类专门化一个Foldable实例方法吗?

来自分类Dev

如果DateFormat是一个抽象类,则如何使用getInstance()方法实例化它

来自分类Dev

防止实例化一个类

来自分类Dev

实例化一个类-Java

来自分类Dev

在 C# 中是否可以用一个值实例化一个类?

来自分类Dev

检查类是否为类的子类而不实例化

来自分类Dev

是否可以在不实例化类的情况下导入类方法?

来自分类Dev

使用StoryboardID访问UIViewController而不实例化它

来自分类Dev

初始化类而不实例化?

来自分类Dev

复制一个类,实例化它,并通过继承将其用作其他类

来自分类Dev

复制一个类,实例化它,并通过继承将其用作其他类

来自分类Dev

有没有一种方法可以动态实例化一个类类型

来自分类Dev

是否可以模拟在测试类中实例化的对象

来自分类Dev

在Swift中,我可以找出使用哪个初始化程序来实例化一个类吗?

来自分类Dev

Haskell:实例参数化类型一个单一类型

来自分类Dev

一个类应该管理它的实例化对象吗?

来自分类Dev

是否可以编写一个抽象类,以便构造函数选择适当的子类在C ++中实例化?

来自分类Dev

在es6中是否可以实例化一个类并定义类似于经典构造函数的原型属性?

来自分类Dev

是否可以使用unicode列实例化DataFrame?

来自分类Dev

是否可以使用键列表实例化Map?

来自分类Dev

在一个子类中实例化一个类并在另一个子类中访问它的实例

来自分类Dev

在类NullPointerException中实例化一个类

Related 相关文章

  1. 1

    测试是否可以使用Activator实例化一个类类型而不实例化它

  2. 2

    是否可以确定实例化一个类的当前实例的类的实例?

  3. 3

    是否可以使用初始化列表实例化一个类并调用一个方法,所有这些都在单个命令中?

  4. 4

    从类调用方法而不实例化它

  5. 5

    能够声明一个对象而不实例化它的意义何在?

  6. 6

    WPF:XAML:给 DataContext 一个名称而不实例化它

  7. 7

    是否可以在 App() 中修改不同类中的变量而不实例化类的新实例

  8. 8

    我可以基于a的类型类专门化一个Foldable实例方法吗?

  9. 9

    如果DateFormat是一个抽象类,则如何使用getInstance()方法实例化它

  10. 10

    防止实例化一个类

  11. 11

    实例化一个类-Java

  12. 12

    在 C# 中是否可以用一个值实例化一个类?

  13. 13

    检查类是否为类的子类而不实例化

  14. 14

    是否可以在不实例化类的情况下导入类方法?

  15. 15

    使用StoryboardID访问UIViewController而不实例化它

  16. 16

    初始化类而不实例化?

  17. 17

    复制一个类,实例化它,并通过继承将其用作其他类

  18. 18

    复制一个类,实例化它,并通过继承将其用作其他类

  19. 19

    有没有一种方法可以动态实例化一个类类型

  20. 20

    是否可以模拟在测试类中实例化的对象

  21. 21

    在Swift中,我可以找出使用哪个初始化程序来实例化一个类吗?

  22. 22

    Haskell:实例参数化类型一个单一类型

  23. 23

    一个类应该管理它的实例化对象吗?

  24. 24

    是否可以编写一个抽象类,以便构造函数选择适当的子类在C ++中实例化?

  25. 25

    在es6中是否可以实例化一个类并定义类似于经典构造函数的原型属性?

  26. 26

    是否可以使用unicode列实例化DataFrame?

  27. 27

    是否可以使用键列表实例化Map?

  28. 28

    在一个子类中实例化一个类并在另一个子类中访问它的实例

  29. 29

    在类NullPointerException中实例化一个类

热门标签

归档