这是我的类别的雇员,并从员工另一者(这只是一个例子类):有没有使用新的创建一个实例的另一种方法?
public class Employee
{
public int EmployeeID { get; set; }
public Type type { get; set; }
public string Name { get; set; }
}
public class Manager : Employee
{
public void DoSomething()
{
// Bla bla
}
}
public class Salesman : Employee
{
public void DoAnotherSomething()
{
// Bla bla
}
}
正如你看到的,我的Employee类有一个类型属性,包含经理或业务员。我不想使用许多开关情况,那么是否有办法创建知道类型变量的对象?
UPDATE 1:
好的,我的意思是,在我的真实程序中。我使用的许多开关的情况下创建对象:
Employee employee = new Employee();
// I do somethings to get the values to employee I store it in a Employee list
// Then I need to create the particular object of each one, I need to travel all
// the list an create its instance
switch (employee.Type)
{
case Manager:
employee = new Manager();
// Some stuff
break;
case Salesman:
employee = new Salesman();
// Some stuff
break;
}
在我真正的代码,我需要使用130箱子,或多或少。所以我想实现另一种避免这种情况的方法。
根据实例的值创建一个类型的实例?这是否像回到过去一样? –
也许这只是我,但我不明白这个问题。是不是使用'new'创建实例?它试图避免开关情况(开关柜是什么?)?它是关于创建类型变量而不知道它是什么类型?运营机构能否澄清? – Michael
你可以使用'Activator.CreateInstance'创建一个实例,但是我有一种感觉,如果你认为这一点,你并不真的想这样做。你想达到什么目的? –