Como ya indicó Oded en su respuesta, , no es posible sobrecargar un método cuando la única diferencia es el tipo de retorno.
public override Stocks[] Search(string Field,string Param){ //some code}
public override Stocks Search(string Field, string Param){//some code}
Piensa en ello: ¿Cómo debe saber el compilador qué variante de método llamar? Esto aparentemente depende de su resultado de búsqueda, y obviamente el compilador no puede saberlo con anticipación.
De hecho, lo que desea es una función que tiene dos posibles tipos de devolución. Lo que no desea es dos métodos separados, porque entonces tendría que decidir por adelantado a cuál llamar. Este es obviamente el enfoque equivocado aquí.
Una solución es devolver siempre una matriz; en el caso en el que sólo se encuentra un objeto Stocks
, regresa una matriz de tamaño 1.
¿Qué pasaría si no asigno el valor de retorno, pero más bien simplemente llamado 'Search (field, param);'? –
Entiendo lo que está insinuando, y también lo he pensado, – Soham