У меня есть следующие классы:
abstract class Transport{
protected String name;
protected Transport(String name){
this.name=name;
}
protected void DoSomething(){
//Creating some instances of the type of the current instance
}
}
class Bike: Transport {
public Bike(String name): base(name){
}
}
class Bus: Transport {
public Bus(String name): base(name){
}
}
Я хотел бы создать несколько экземпляров типа текущего экземпляра внутри метода DoSomething
класса Transport
.
Как мне это сделать?
Я могу создать статический метод фабрики, который принимает имя дочернего класса, который я хотел бы создать, и затем передавать ему имя класса текущего экземпляра внутри.DoSomething
метод с использованием this.GetType().Name
.
Но разве это лучший способ?
Большое спасибо всем вам.