Статичните свойства и ключовата дума this
Подобно на статичните методи, в статичните свойства не може да се използва ключовата дума this, тъй като статичното свойство е асоциирано единствено с класа, и не "разпознава" обектите от даден клас.
|
В статичните свойства не може да се използва ключовата дума this.
|
Достъп до статични свойства
По подобие на статичните полета и методи, статичните свойства могат да бъдат достъпвани чрез точкова нотация приложена единствено към името на класа, в който са декларирани.
За да се уверим, нека се опитаме да достъпим свойството Version през променлива от класа SystemInfo:
public static void Main()
{
SystemInfo sysInfoInstance = new SystemInfo();
Console.WriteLine("System version: " +
sysInfoInstance.Version);
}
|
При опит за компилация на горния код, получаваме следното съобщение за грешка:
Съответно, ако се опитаме да достъпим статичните свойства чрез името на класа, кодът се компилира и работи правилно:
public static void Main()
{
// Invocation of static property setter
SystemInfo.Vendor = "Microsoft Corporation";
// Invocation of static property getters
Console.WriteLine("System version: " + SystemInfo.Version);
Console.WriteLine("System vendor: " + SystemInfo.Vendor);
}
|
Кодът се компилира и резултатът от изпълнението му е:
System version: 0.1
System vendor: Microsoft Corporation
|
Преди да преминем към следващата секция, нека обърнем внимание на отпечатаната стойност на свойството Vendor. Тя е "Microsoft Corporation", въпреки че в класа SystemInfo сме я инициализирали със стойността "Microsoft". Това е така, тъй като променихме стойността на свойството Vendor на първия ред от метода Main(), чрез извикване на метода му за модификация.
Статични класове
За пълнота трябва да обясним, че можем да декларираме класовете като статични. Подобно на статичните членове, един клас е статичен, когато при декларацията му е използвана ключовата дума static:
Сподели с приятели: |