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: |

NEWS: Telegram supports Facetime video calls NOW!

Secure video calling is in high demand. As an alternative to Zoom, many people are using end-to-end encrypted apps such as WhatsApp, FaceTime or Signal to speak to friends and family face-to-face since coronavirus lockdowns started to take place across the world. There’s another option—secure communications app Telegram just added video calling to its feature set, available on both iOS and Android. The new feature is also super secure—like Signal and WhatsApp and unlike Zoom (yet), video calls will be end-to-end encrypted.

telegram from hk


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