c# - 使用字符串变量设置 'Class = new <string of Class()>'

标签 c# class

我有三个多态类。根据用户输入,类应该设置为该用户的输入。所以子类由用户决定,应该为'class = new inputClass'。代码片段如下所示:

public void characterGeneration(string classSelected)
    {
        foreach (string classInList in classes.ClassList)
        {
            if (classSelected == classInList)
            {
                PlayerOneStats = new Mage();
            }
        }

        PlayerOneStats.generateStats();
    }

它说 PlayerOneStats = new Mage();,我希望 Mage() 成为用户输入。

我查看了 Activator、Assembly,使用 Type,试图转换到 GenerateStats 的父级,但没有任何效果。我发现很多人说它有效,但有一个链接说它无效。有人可以帮我解决这个问题吗?非常感谢!

最佳答案

您确定 Activator 不起作用吗? Activator.CreateInstace("assembly-name", "type-name") 看起来正是您想要的。什么不起作用?

关于c# - 使用字符串变量设置 'Class = new <string of Class()>',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8302934/

相关文章:

java - 如何为类型类的数组编写 'get/set method'?

java - java (Robotium) 中的隐藏方法和类

c# - 使用相同的参数签名重载

c# - 如何在 VB.NET 或 C#.NET 代码中从雅虎邮件 ID 发送邮件

class - 在 Excel VBA 中使用类处理多个范围

java - 一切都有自己的类(class)

CSS - 无法获得一种跨度样式来覆盖另一种继承样式并左对齐

c#变量的可见性

c# - 将带有 NodaTime 自动 Prop 的模型发布到 WebAPI

c# - 无法将嵌套关系或元素列添加到包含 SimpleContent 列的表