+ 1

Для чего нужны get и set? C#

Сколько читаю про них, все не могу понять как они работают и для чего нужны.

9th Aug 2019, 2:02 PM
VoMaRo
VoMaRo - avatar
4 Respostas
+ 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 блоке это значение полученное при присвоении.
11th Aug 2019, 1:32 PM
Byte
Byte - avatar
+ 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))
11th Aug 2019, 1:39 PM
Byte
Byte - avatar
0
А не легче объявить переменную как public?
11th Aug 2019, 1:34 PM
VoMaRo
VoMaRo - avatar
0
А понял, спасибо за пример)
11th Aug 2019, 1:45 PM
VoMaRo
VoMaRo - avatar