Telegram Group & Telegram Channel
Атрибут [field: SerializeField]

Периодически встречаю людей, которые не знают эту фичу, так что поделюсь ею невзначай

Безопасность - дело важной, и разбрасываться публичным доступом для полей, которым публичными быть не следует - это грех! Почему? Потому что в таких случаях велик риск соблазн менять эти переменные извне класса, а это вредно, так не надо, фу-фу-фу. Карается болью в будущем, когда эти поля будут меняться из нескольких мест подряд и не разберешься, кто прав, а кто виноват

Но часто такие поля должны быть доступны для чтения - например, в конфигах в ScriptableObject. Так вот, часто такие поля обрабатывают через пару:
[SerializeField] private MyClass _property;

public MyClass Property => _property;



Защита имеется. Но с относительно недавних версий можно сократить эту запись сразу до публичного свойства с приватным сеттером и для отображения в редакторе. Просто используй аттрибут:
[field: SerializeField] public MyClass Property { get; private set; }


Коротко, лаконично, беозопасно!

#полезное



tg-me.com/gamedevlavka/977
Create:
Last Update:

Атрибут [field: SerializeField]

Периодически встречаю людей, которые не знают эту фичу, так что поделюсь ею невзначай

Безопасность - дело важной, и разбрасываться публичным доступом для полей, которым публичными быть не следует - это грех! Почему? Потому что в таких случаях велик риск соблазн менять эти переменные извне класса, а это вредно, так не надо, фу-фу-фу. Карается болью в будущем, когда эти поля будут меняться из нескольких мест подряд и не разберешься, кто прав, а кто виноват

Но часто такие поля должны быть доступны для чтения - например, в конфигах в ScriptableObject. Так вот, часто такие поля обрабатывают через пару:
[SerializeField] private MyClass _property;

public MyClass Property => _property;



Защита имеется. Но с относительно недавних версий можно сократить эту запись сразу до публичного свойства с приватным сеттером и для отображения в редакторе. Просто используй аттрибут:
[field: SerializeField] public MyClass Property { get; private set; }


Коротко, лаконично, беозопасно!

#полезное

BY Лавка Разработчика





Share with your friend now:
tg-me.com/gamedevlavka/977

View MORE
Open in Telegram


telegram Telegram | DID YOU KNOW?

Date: |

Traders also expressed uncertainty about the situation with China Evergrande, as the indebted property company has not provided clarification about a key interest payment.In economic news, the Commerce Department reported an unexpected increase in U.S. new home sales in August.Crude oil prices climbed Friday and front-month WTI oil futures contracts saw gains for a fifth straight week amid tighter supplies. West Texas Intermediate Crude oil futures for November rose $0.68 or 0.9 percent at 73.98 a barrel. WTI Crude futures gained 2.8 percent for the week.

Mr. Durov launched Telegram in late 2013 with his brother, Nikolai, just months before he was pushed out of VK, the Russian social-media platform he founded. Mr. Durov pitched his new app—funded with the proceeds from the VK sale—less as a business than as a way for people to send messages while avoiding government surveillance and censorship.

telegram from br


Telegram Лавка Разработчика
FROM USA