26 строки
855 B
Markdown
26 строки
855 B
Markdown
# USP0011 Don't make fields with the ContextMenuItem attribute read-only
|
|
|
|
Fields decorated with the `ContextMenuItem` attribute should not be made read-only.
|
|
|
|
## Suppressed Diagnostic ID
|
|
|
|
IDE0044 - Make field readonly
|
|
|
|
## Examples of code that produces a suppressed diagnostic
|
|
```csharp
|
|
using UnityEngine;
|
|
|
|
class Camera : MonoBehaviour
|
|
{
|
|
[ContextMenuItem("Foo", "Bar")]
|
|
private string contextMenuString = "";
|
|
}
|
|
```
|
|
|
|
## Why is the diagnostic reported?
|
|
|
|
The IDE does not detect that `contextMenuString` is ever assigned outside of the declaration or in a constructor. Therefore, under normal circumstances, it would be reasonable to mark the field as read-only.
|
|
|
|
## Why do we suppress this diagnostic?
|
|
|
|
A field with the `ContextMenuItem` attribute is used indirectly by Unity. Making the field read-only would prevent it from being changed by Unity. |