C#   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了c# – 获取一个没有很多if语句的类大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一定数量的类继承自抽象类:

abstract public class baseClass
{
    //logics
}

public class child1 : baseClass
{
}

public class child2 : baseClass
{
}

现在我有一些管理类,必须创建这些类中的一个,具体取决于枚举,它将有相名称的值,如下所示:

public enum ClassType
{
    child1,child2
}

public class Manager
{
    private List<baseClass> _workers;

    public void Initialize(ClassType typE)
    {
        //what logics to put here? (resulTing in correctChild)
        _workers.Add(correctChild);
    }
}

我在虑使用typeof,但不知道如何实现它.
注意:在这个例子中,它是2个类,但在实际情况下,它是任意数量的类.

@L_616_7@

如果您不需要属性开销并且从同一个程序集运行它 – 您可以使用执行程序集通过反射加载类型. Activator.CreateInstance可以动态地为您构建对象.

public class Manager
{
    private List<baseClass> _workers = new List<baseClass>();

    public void Initialize(ClassType typE)
    {
        String assemblyName = Assembly.GetExecuTingAssembly().GetName().Name;
        Type objType = Type.GetType(String.Format("{0}.{1},{0}",assemblyName,type.ToString()));
        var correctChild =  (baseClass)Activator.CreateInstance(objTypE);
        _workers.Add(correctChild);
    }
}
@H_502_37@

大佬总结

以上是大佬教程为你收集整理的c# – 获取一个没有很多if语句的类全部内容,希望文章能够帮你解决c# – 获取一个没有很多if语句的类所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。