相关疑难解决方法(0)

使用TypeBuilder为基类创建传递构造函数

说我有一个SpaceShip班级,如下:

public class SpaceShip {
    public SpaceShip() {  }
    public SpaceShip(IRocketFuelSource fuelSource) {  }
}
Run Code Online (Sandbox Code Playgroud)

我想用于TypeBuilder在运行时创建一个继承自SpaceShip的类型,并为SpaceShip中的每个类型定义一个构造函数.我不需要构造函数实际任何事情,除了将它们的参数传递给父("传递"构造函数).例如,如果用C#表示,生成的类型看起来像这样:

public class SpaceShipSubClass : SpaceShip {
    public SpaceShipSubClass() : base() {  }
    public SpaceShipSubClass(IRocketFuelSource fuelSource) : base(fuelSource) {  }
}
Run Code Online (Sandbox Code Playgroud)

为了使事情复杂化,我实际上并不知道生成类型将继承到哪个类直到运行时(因此我将不得不考虑任意数量的构造函数,可能使用默认参数).

这可能吗?如果我有一个大方向开始,我想我可以弄明白,只是我完全是新手TypeBuilder.

谢谢!

c# reflection typebuilder

16
推荐指数
1
解决办法
5014
查看次数

标签 统计

c# ×1

reflection ×1

typebuilder ×1