Estoy haciendo un método para obtener una lista de nombres de archivos de un servidor, pero he llegado a un problema que no puedo responder.¿Código de retorno o parámetro de salida?
el método devuelve dos cosas:
- un
SftpResult
que es una enumeración con una variedad de códigos de retorno. - la lista de nombres de archivos.
De estas tres firmas:
public static ArrayList GetFileList(string directory, out SftpResult result)
public static SftpResult GetFileList(string directory, out ArrayList fileNames)
public static SftpFileListResult GetFileList(string directory)
(donde SftpFileListResult
es un objeto compuesto de una SftpResult
y un ArrayList
)
, ¿cuál es el preferido y por qué?
¿Cuál es el propósito de SftpResult? Si se supone que debe explicar por qué falló la llamada, tal vez deberías lanzar una excepción. – Guillaume
Decidí que sería excesivo, teniendo en cuenta que todo lo que hago es informar el estado. No es un problema grave si falla y realmente no necesito deshacer la pila solo porque escribieron el directorio incorrecto. Acabo de devolver un DirectoryNotFound y continuar con mi negocio :-) – Nobody
Considere abandonar el uso de ArrayList a favor de IEnumerable. –