000138. Детальнее о static

static class Autor { private static string _name = "Н. Носов"; public static string GetName() { return _name; } }

Вызов метода осуществляется следующим образом:

class Program { static void Main() { string _AutorName = Autor.GetName(); Console.WriteLine( _AutorName ); Console.ReadKey(); } }

Autor Au = new Autor();

мы не сможем и получим ошибку "Невозможно создать экземпляр статического класса "Consol.Autor" " Это и есть отличие статического класса от обычного. Как-же тогда будет вести себя программа, если мы создадим статичный метод в обычном классе? Давайте проверим!

class Autor { private static string _name = "Н. Носов"; private string _name2 = "М. Рид"; public Autor() { } public static string GetName() { return _name; } public string GetName2() { return _name2; } }

Важно! ИМЕНА статических полей, методов и.т.п. ДОЛЖНЫ ОТЛИЧАТСЯ от обычных, так как шарп не поймёт клонирование переменных. Код программы у нас будет следующий:

static void Main() { string _AutorName1 = Autor.GetName(); // вызов статического метода Autor ae = new Autor(); string _AutorName2 = ae.GetName2(); // вызов метода экземпляра класса Console.WriteLine( "Писатели: {0} и {1}", _AutorName1, _AutorName2 ); Console.ReadKey(); }

Last updated