使用相同的参数签名重载

Soh*_*ham 6 c# overloading

在C#中,是否可以使相同的参数相互覆盖(它们在返回类型中是不同的)

public override Stocks[] Search(string Field,string Param){ //some code}
public override Stocks Search(string Field, string Param){//some code}
Run Code Online (Sandbox Code Playgroud)

C#返回编译错误

Ode*_*ded 11

在C#中,您只能重载具有不同签名的方法.

签名中不包含方法的返回类型 - 仅包括方法名称,类型和参数数量(及其顺序).这两个示例具有相同的签名,因此它们不能一起存在.

传统上,可以返回项目列表(数组或其他数据结构) - 如果只需要一个项目,则只需返回包含一个项目的列表.


ssu*_*ube 0

据我所知,这是不可能的。

即使是这样,它也不必要地复杂。在所有情况下都只返回一个数组(如果只返回一个值,那么它是一个 Stocks[1] 数组)。这应该可以节省您一些时间,特别是因为 C# 使数组的使用变得非常简单。