我有一个这样的功能:
public static Mesh MeshFromPolylines(List<Polyline> nurbsCurves, int type, bool weld)
{
..code..
}
然后我有超载:
public static Mesh MeshFromPolylines(Polyline[] nurbsCurves, int type, bool weld)
{
..code..
}
有没有写第二种功能而无需复制粘贴相同代码的方法?
这两个函数内部都有完全相同的代码。唯一的区别是输入
List<Polyline>
和Polyline[]
。 最佳答案
一种具有签名的方法将起作用:
public static Mesh MeshFromPolylines(IEnumerable<Polyline> nurbsCurves, int type, bool weld)
{
}
它将接受数组和列表。或者至少可以在两个方法中都调用此方法(如果由于某种原因需要使用具有指定参数类型的两个方法)。
但是,您可能必须修改方法主体,例如,要通过索引获取元素,您需要执行
nurbsCurves.ElementAt(i)
而不是nurbsCurves[i]
关于c# - 通过使用不同类型的重载功能,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44874919/