С точки зрения стиля я бы выбрал вариант передачи paramater. Он выражает намерение намного легче передавать аргументы вместо любых окружающих типов (а также облегчает тестирование). Я имею в виду, вы могли бы сделать это:
public void Int32 Add()
{
return this.Number1 + this.Number2
}
но это ни тестируемое, ни понятное. Признаки, принимающие параметры, намного понятнее другим, что делает метод ... он добавляет два числа: не произвольный набор чисел или что-то в этом роде.
Я регулярно делаю это с парсами, такими как коллекции, которые все равно используются через ref и не требуют явного «возврата»:
public List<string> AddNames(List<String> names)
{
names.Add("kevin");
return names;
}
Несмотря на то, что коллекция имен передается с помощью ref и, следовательно, не нуждается в явном возврате, мне намного понятнее, что метод берет список и добавляет к нему, а затем возвращает его обратно. В этом случае у нет технических причин, чтобы написать сигнал таким образом, но, на мой взгляд, имеются веские основания в отношении ясности и, следовательно, эксплуатационной надежности.