Ну, это квалифицируется как вопрос, но, очевидно, результаты будут одинаковыми в любом случае, так что это просто вопрос стиля. (Вероятно, существуют странные ситуации перегрузки, когда может иметь значение, но вам следует избегать их для начала. Я могу привести примеры, если вы хотите, но, вероятно, оно того не стоит.)
Если вы чувствуете особую необходимость подчеркнуть, что это статический метод, не стесняйтесь сделать его Routines.method1()
- но обычно я просто оставляю его как method1()
.
РЕДАКТИРОВАТЬ: я пытался придумать пример, где это имеет значение, используя перегрузку с params
:
void CallMethod()
{
Console.WriteLine("Calling Method()");
Method();
Console.WriteLine("Calling Test.Method()");
Test.Method();
}
void Method(params string[] ignored)
{
Console.WriteLine (" Instance method called");
}
static void Method()
{
Console.WriteLine (" Static method called");
}
Это вызывает статический метод в обоих случаях. (Интересно, что добавление params
к статическому методу дает немного запутанное сообщение об ошибке при использовании компилятора MS C # и полностью взрывает компилятор Mono - по крайней мере, версию, которую я использую.)
С параметром вы можете попасть в нечетные ситуации с параметрами общего типа и выводом типа, но не без каких-либо параметров. Несмотря на это, неуниверсальная форма будет иметь приоритет.
Короче, я не думаю, что смогу сделать это в конце концов: (