+ 1
Для чего нужны get и set? C#
Сколько читаю про них, все не могу понять как они работают и для чего нужны.
4 odpowiedzi
+ 1
они нужны для получения скрытых переменных в классе
Пример:
class Test
{
private _x = 100;
public x { get { return _x; } set { _x = value; }}
}
_x Скрытая переменная для других классов, но её можно получить используя доступную переменную x, при её вызове(то есть получении, пример: Console.WriteLine(Test.x))она будет возвращать значение не своё, а значение, которое вы задали в Get, тоесть значение переменной _x, также при присвоении значения переменной x, значение будет присваиваться переменной указаной в set, тоесть у нас это _x. значение value в set блоке это значение полученное при присвоении.
+ 1
да, я вам показал как используется на простом примере же.
тоесть использовать можно и по другому, где это не будет легче, к примеру у вас есть класс с переменной x, но вы не хотите чтобы код мог присваивать значение переменной, а только мог получать, вы можете объявить только Get, тоесть присваивать значение переменной x нельзя будет, можно будет только получать, без get и set это невозможно, вот вам и функционал Get, set.
class Test
{
private _x = 100
public x { get { return _x; } }
}
вот это код без использования set, теперь пользователь не сможет присваивать значение(то есть не сможет делать: Test.x = 50; к примеру), но он сможет получать значение (Console.WriteLine(Test.x))
0
А не легче объявить переменную как public?
0
А понял, спасибо за пример)