gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 19:10:53 30 4
gpt4 key购买 nike

我有一个名为 CAR 的对象,声明如下:

public class Car{
public int NumberOfWheels;
}

并且使用另一个类我可以检索它的三个子类。
如下:

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}
}

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

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

有点像

public TruckC getCarC(int param){
return getTruck<TruckC>(param)
}

只有那个:
1. TruckA/B/C没有构造函数。
2. Car没有构造函数。使用 {} 初始化。
3. 该方法应仅接收派生自 Car 的类,以便它可以使用其初始化 ({})。

(相当于 ?? extends ? 在 java generics 中)
可能的 ?

谢谢。

最佳答案

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

关于C# 泛型方法 - 在类型上调用基类构造函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14671988/

30 4 0
文章推荐: c# - MVC TempData 传递给 Jquery
文章推荐: c# - 是否可以在 C# 的构造函数中调用属性,这样我就不必两次编写值的验证检查?
文章推荐: c# - 如何在一行中将 list 或 list 转换为 ListView.ListViewItemCollection