设计函数签名 - 返回值或输出参数

Cap*_*mic 2 .net c# oop coding-style

嗨,我亲爱的专家,

我正在设计一个必须处理文件夹中的文件的函数.该函数必须说明它已经处理了多少文件以及是否有错误.设计此类功能的最佳方法是什么?我在三种选择中做出选择:

bool ProcessFiles(out int fileCount)
{
  // return true or false
}

int ProcessFiles()
{
  // return -1 when failed
}

int ProcessFiles(out bool success)
{
  // return count
}
Run Code Online (Sandbox Code Playgroud)

当然,这个例子是对现实生活问题的一个例证.我只是想详细说明好的策略.

Han*_*son 7

我会去:

int ProcessFiles() // returns count
{
   if(error)
   {
       throw new MyException();
   }
}
Run Code Online (Sandbox Code Playgroud)