Скажем, у меня есть класс SpaceShip
, например:
public class SpaceShip {
public SpaceShip() { }
public SpaceShip(IRocketFuelSource fuelSource) { }
}
Я хочу использовать TypeBuilder
для создания типа во время выполнения, который наследуется от SpaceShip, и определяет один конструктор для каждого из те в SpaceShip. Мне не нужны конструкторы, чтобы на самом деле ничего не делать, кроме как передавать свои аргументы до родителя ( "сквозные" конструкторы). Например, сгенерированный тип будет выглядеть примерно так, если он выражен в С#:
public class SpaceShipSubClass : SpaceShip {
public SpaceShipSubClass() : base() { }
public SpaceShipSubClass(IRocketFuelSource fuelSource) : base(fuelSource) { }
}
Чтобы немного усложнить ситуацию, я действительно не знаю, какой класс сгенерированный тип будет наследовать до времени выполнения (поэтому мне нужно будет учитывать любое количество конструкторов, возможно с параметрами по умолчанию).
Возможно ли это? Я думаю, что я мог бы понять это, если бы у меня было общее направление для начала, просто я совершенно не знаком с TypeBuilder
.
Спасибо!