gpt4 book ai didi

c# - 合并参数和 IList 构造函数

转载 作者:太空狗 更新时间:2023-10-29 23:13:02 24 4
gpt4 key购买 nike

有什么方法可以将这两个构造函数合二为一吗?基本上它们接受相同的 Point3D 类型数组。

public Curve(int degree, params Point3D[] points) {} 

public Curve(int degree, IList<Point3D> points) {}

谢谢。

最佳答案

如果你想有 2 个不同的构造函数,你可以:

public Curve(int degree, params Point3D[] points) : this(degree, (IList<Point3D>)points) { }
public Curve(int degree, IList<Point3D> points) { }

或者如果你只想要一个构造函数让我们说第一个那么你可以像这样初始化:

new Curve(0,new List<Point3D>().ToArray());

通过让一个构造函数调用另一个构造函数,您不需要复制所有逻辑,并且您仍然启用两种初始化格式。


虽然Array工具 IList<T>无法删除 (IList<Point3D)由于编译错误:compiler ...... cannot call itself

enter image description here

关于c# - 合并参数和 IList<T> 构造函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39206692/

24 4 0