Вопрос скорее по C#, чем по Юнити, но какой способ

возращения значения или присваивания значения переменной private лучше?
1. Через properties
2. Через public method

5 ответов

23 просмотра

Компилятор из первого варианта сам сделает второй, так что разницы никакой, проще даже инкапсулировать через public int Data { get; set; }

Ilya Meyta
Компилятор из первого варианта сам сделает второй,...

не совсем, свойства сохраняются в метаданных, так что разница есть


не совсем, свойства сохраняются в метаданных, так ...

Можно подробнее, или ссылку где это изучить?

Ilya Meyta
Можно подробнее, или ссылку где это изучить?

Ну, если прям подробнее, то в ECMA-335, но если в кратце, то каждый тип в дотнете хранит информацию о своих членах. То есть какой бы язык не использовался, есть определённая стандартизированная форма, в которую всё скомпилируется. Свойства, методы, поля, они все различаются даже после компиляции. Некоторая информация стирается, некоторая остаётся доступной. Это имеет значение, если используешь рефлексию. Можно получить все методы, все поля, все свойства у типа и т.д. Если объявлено свойство, то можно по названию легко использовать и геттер и сеттер

Ilya Meyta
Можно подробнее, или ссылку где это изучить?

Ещё, в C# 9 появился init-аксессор (который заменяет set), на методах такое не сделать. + в C# 11 должно появиться ключевое слово required, которое тоже только для свойств. Да и вообще конкретно от методов отличий много, в инициализаторах объектов можно использовать, в выражении with в новых версиях и т.п. Поэтому Get/Set методы вручную лучше не писать

Похожие вопросы

Обсуждают сегодня

Но, может, есть уже проверенная? Наши требования такие: 1. Сообщения должны приходить из Инста в CRM оду 2. Должна быть возможность подключить несколько экаунтов Инстаграм. Р...
Alexander Sharoiko MSE / Александр Шаройко
7
Это может быть все-таки не флудвейт? у меня ботфазер принимает изменения и отображает даже что они изменились, на видео видно что он прислал якобы уже измененное описание, н...
OVERLINK
13
Я правильно понимаю что нет способов получить список ожидающих заявок на вступление в группу с помощью бота из mtproto?
Шамиль Прилов
7
Добрый день. Мне посоветовали обратиться к вам в чат за помощью. Ситуация описана на скрине. Как мне сказали, мне на бота навесили флудвейт. Есть ли возможность снять его ра...
OVERLINK
7
всем привет помогите пожалуйста используя CDN (GCP) у игроков из вьетнама загружается конфиг (размер 999 bytes) загружается 5 и более минут н а других CDN сервисах такой пробл...
Andrew Krw.
1
Просто по очереди выпиливаешь на ручной маппинг? По методу за раз
Andrii Kurdiumov
7
Приветствую. А не подскажете какие ограничения есть на использования api метода setMyName ? Несколько раз сменил имя бота и получил бан на 2 месяца на смену имени.
Slick Slack
8
)) может, нужно поправить? )) 2. Ребята, нам нужно, чтобы сообщения из Инстаграм приходили в ОДУ. Какое приложение посоветуете?
Alexander Sharoiko MSE / Александр Шаройко
1
Всем привет! Взялся портировать модули на 18 версию, лезет _logger.log(log_level, 'no translation language detected, skipping translation %s', frame, stack_info=True) А чт...
Max Lit
3
Привет, коллеги! Возникла задача ограничить максимальный размер вложений для определённых расширений, например, чтобы для изображений лимит был 10 МБ, а для видео — 100 МБ. Ог...
Andro
1
Карта сайта