Да си припомним: какво са класовете и обектите?


Непозволен достъп до нестатично поле от статичен метод – пример



страница60/84
Дата03.01.2022
Размер0.54 Mb.
#112941
ТипПрограма
1   ...   56   57   58   59   60   61   62   63   ...   84
Класове
Свързани:
Изпитна тема1, Изпитна тема2
Непозволен достъп до нестатично поле от статичен метод – пример

Ако в нашия клас Dog се опитаме да декларираме статичен метод PrintName(), който връща като резултат стойността на нестатичното поле name декларирано в класа:



public void string PrintName()

{

// Trying to access non-static variable from static method



Console.WriteLine(name); // INVALID

}


Съответно компилаторът ще ни отговори със съобщение за грешка, подобно на следното:

An object reference is required for the non-static field, method, or property 'Dog.name'

Ако въпреки това, се опитаме в метода да достъпим полето чрез ключовата дума this:

public void string PrintName()

{

// Trying to access non-static variable from static method



Console.WriteLine(this.name); // INVALID

}


Компилаторът отново няма да е доволен и този път ще изведе следното съобщение, без да успее да компилира класа:

Keyword 'this' is not valid in a static property, static method, or static field initializer



Сподели с приятели:
1   ...   56   57   58   59   60   61   62   63   ...   84




©obuch.info 2024
отнасят до администрацията

    Начална страница