C#泛型方法 - 在类型上调用基类构造函数

Bic*_*ick 2 c# generics visual-studio-2012

我有一个名为CAR的Object声明如下:

public class Car{
   public int NumberOfWheels;
}  
Run Code Online (Sandbox Code Playgroud)

并使用另一个类我可以检索其三个子类.
如下:

public TruckA getCarA(int param){
   return new TruckA () {NumberOfWheels = param} 
}
public TruckB getCarB(int param){
   return new TruckB () {NumberOfWheels = param} 
}
public TruckC getCarC(int param){
   return new TruckC () {NumberOfWheels = param} 
}
Run Code Online (Sandbox Code Playgroud)

如何使用泛型编写?
(我知道这太简单了,我需要一个更复杂案例的例子)

我想创建一个创建新(T)的方法,输入参数并返回它.

就像是

public TruckC getCarC(int param){
   return getTruck<TruckC>(param)
}
Run Code Online (Sandbox Code Playgroud)

只有这样:
1.TruckA/B/C没有构造函数.
汽车没有建设者.使用{}初始化.
3.该方法应仅接收从Car派生的类,以便它可以使用其初始化({}).

(等同于??扩展?在java泛型中)
可能吗?

谢谢.

dee*_*eej 9

private static T GetTruck<T>(int param) where T : Car, new()
{
    return new T() {NumberOfWheels = param} ;
}
Run Code Online (Sandbox Code Playgroud)