В данной статье рассмотрим с Вами, что представляют из себя методы в С# , как их использовать и какие требования к ним существуют.

Методы в С#

В данной статье рассмотрим с Вами, что представляют из себя методы в С#, как их использовать и какие требования к ним существуют.

Итак, прежде всего метод - это именованный участок кода программы (класса), который может быть переиспользован много раз в различных частях программы.

С одним из методов Main вы уже знакомы - это так называемый entry point (точка вход) - метод, с которого начинается выполнение практически любой программы.

Вот так выглядит упрощено концептуальная модель метода:


[<Модификаторы>] <Тип> <НазваниеМетода> ([тип1 параметр1, тип1 параметр2])
{
    // какие-то действия
    return <Значение> с типом <Тип>
}

где <Тип> - это тип возвращаемого методом значения, <НазваниеМетода> - с заглавной буквы, далее в скобках необязательный список параметров метода, являющихся частью его сигнатуры, - в том случае, если метод принимает параметры. В противном случае скобки будут пустыми.

Далее парные фигурные скобки - закрывающая и открывающая - обозначают тело метода.

Вот пример непосредственно на самом C#:


class App
{
    public static void Method1(string a) 
    {
        // тело метода
    }
}

В данном случае у нас есть статический метод (модификатор static), который ничего не возвращает - void и принимает только один параметр - произвольную строку.

Здесь необходимо обратить внимание на модификатор static. Данный модификатор говорит, что для вызова метода не нужно создавать экземпляр класса через оператор new, а просто вызвать метод с помощью оператора точка после имени класса - App.Method1("привет").

Кроме того, в статическом методе, недоступна ссылка на this (экземпляр объекта), поэтому внутри статического метода нельзя обратиться к переменным и методам экземпляра класса, созданного с помощью оператора new.

Также, к методу выше можно получить доступ отовсюду, вызвав его через имя класса - это благодаря ключевому слову public. Если же вместо public там было бы private - то это метод нельзя было бы вызвать за пределами класса.

Таким образом, как видно, методы в C# - очень похожи на методы в других объектно-ориентированных языках, особенно на методы Java, хотя, если у Вас есть опыт работы с PHP, вам они тоже не покажутся чем-то сложным и непонятным - единственное различие это строгая типизация С#, по сравнению c PHP.