Существует ли какое-либо соглашение в C# (или любом объектно-ориентированном языке, поддерживающем перегрузку методов) для следующей ситуации?
Допустим, у меня есть метод foo:
public void Foo(int a){//does stuff}
Но на самом деле у меня есть 3 метода foo:
public void Foo(int a){}
public void Foo(int a, double b){}
public void Foo(float c, int a, double b){}
Существует ли соглашение, в котором указывается, имеет ли значение порядок параметров в перегруженном методе? Обратите внимание, что третий метод не имеет очевидной логической последовательности (a,b,c).
a
требуется всегда, аb
требуется, если предоставляетсяc
, я бы сделал что-то вроде этого:public void Foo(int a, double? b = null, float? c = null)
- предполагая, что ваша логика такая же. - person zimdanen   schedule 13.02.2013