Updating a `static` field from a non-`static` method introduces ignificant challenges and potential bugs. Multiple class instances and threads can access and modify the `static` field concurrently, leading to unintended consequences for other instances or threads (unexpected behavior, https://www.c-sharpcorner.com/UploadFile/1d42da/race-conditions-in-threading-C-Sharp/[race conditions] and synchronization problems).
* https://learn.microsoft.com/en-us/dotnet/csharp/programming-guide/classes-and-structs/static-classes-and-static-class-members[Static Classes and Static Class Members]
* https://learn.microsoft.com/en-us/dotnet/standard/threading/using-threads-and-threading[Using threads and threading]
=== Articles & blog posts
* https://www.c-sharpcorner.com/UploadFile/1d42da/race-conditions-in-threading-C-Sharp/[Race Conditions in C#]
\[~ann.campbell.2] I've created this subtask, because in C# this rule can also apply for properties. Furthermore, the `synchronized static` part doesn't work for C#.