Я пытаюсь настроить Sonar в нашей организации, что мы в основном делаем проекты Unity.SonarQube, используя его с Unity 3D тонны проблем
Наша проблема в том, что правила, предоставляемые языку C#, не всегда одинаковы в контексте Unity.
- В Unity есть класс MonoBehaviour, что если объявить некоторые методы (Awake, Start) они называют отражением:
https://docs.unity3d.com/ScriptReference/MonoBehaviour.html
Так что в этом случае у меня есть тонны Msgstr "Удалить этот неиспользуемый частный элемент".
Есть ли способ сказать, не применяйте это правило, если мой класс происходит из MonoBehaviour (или AssetPostprocessor и т. Д.), А мое имя метода - это, например, «Awake»? Я имею в виду, есть ли способ установить собственное правило и сделать недействительным другой?
- То же самое относится к системе сериализации Unity. Вы можете иметь закрытое поле с [SerializeField] атрибут и он получает автоматически инициализируется Unity:
https://docs.unity3d.com/ScriptReference/SerializeField.html
В этом случае я получаю тонны «Сделать„{FIELD}“„ReadOnly“» если мой поле имеет значение по умолчанию, потому что это Unity, затем «заполняет» это значение, обновленное/измененное от инспектора, но если я сделаю это только для чтения, он не будет работать в системе сериализации Unity.
Спасибо.
Редактировать: Извините, я неправильно понял проблему. – Basic