Нестатичните елементи на класа НЕ могат да бъдат използвани в статичен контекст.
Проблемът с достъпа до нестатични елементи на класа от статичен метод има едно единствено решение – тези нестатични елементи да се достъпват чрез референция към даден обект:
public static void Main()
{
Dog myDog = new Dog("Sharo", 2);
string myDogName = myDog.name;
Console.WriteLine("My dog \"" + myDogName + "\" has age of ");
myDog.PrintAge();
Console.WriteLine("years");
}
|
Съответно този код се компилира и резултатът от изпълнението му е:
My dog "Sharo" has age of 2 years
|
Статични свойства на класа
Макар и рядко, понякога е удобно да се декларират и използват свойства не на обекта, а на класа. Те носят същите характеристики като свойствата, свързани с конкретен обект от даден клас, които разгледахме по-горе, но с тази разлика, че статичните свойства се отнасят за класа.
Както можем да се досетим, всичко, което е нужно да направим, за да превърнем едно обикновено свойство в статично, е да добавим ключовата ма static при декларацията му.
Статичните свойства се декларират по следния начин:
Сподели с приятели: |