gpt4 book ai didi

c# - 具有不同返回类型的重载函数

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

我有两个同名函数,主要区别在于返回类型不同。我如何重载该函数才能使用相同的名称,因为有时我需要 point3d 或 point3f 数组,并且以下函数名称会因相同而出错:

public static Point3d[] GetNGonCenters(this Mesh mesh)
{
Point3d[] centers = new Point3d[mesh.Ngons.Count];

for (int i = 0; i < mesh.Ngons.Count; i++)
centers[i] = mesh.Ngons.GetNgonCenter(i);

return centers;
}

public static Point3f[] GetNGonCenters(this Mesh mesh)
{
Point3f[] centers = new Point3f[mesh.Ngons.Count];

for (int i = 0; i < mesh.Ngons.Count; i++)
centers[i] = (Point3f)mesh.Ngons.GetNgonCenter(i);

return centers;
}

最佳答案

编译器无法知道你在调用什么。我建议像这样使名称更具描述性:

public static Point3d[] GetNGonCenters3D(this Mesh mesh)

public static Point3f[] GetNGonCenters3F(this Mesh mesh)

重载在这里不起作用,因为它们都使用相同的参数,编译器无法猜测您想要的返回类型。

关于c# - 具有不同返回类型的重载函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45011889/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com