We recommend using Visual Studio 2017
This documentation is archived and is not being maintained.

Mark members as static







Breaking Change

Non Breaking - If the member is not visible outside the assembly, regardless of the change you make. Non Breaking - If you simply change the member to an instance member with the this keyword.

Breaking - If you change the member from an instance member to a static member, and it is visible outside the assembly.

A member that does not access instance data is not marked as static (Shared in Visual Basic).

Members that do not access instance data or call instance methods can be marked as static (Shared in Visual Basic). After you mark the methods as static, the compiler will emit non-virtual call sites to these members. Emitting non-virtual call sites will prevent a check at runtime for each call that ensures that the current object pointer is non-null. This can result in a measurable performance gain for performance-sensitive code. In some cases, the failure to access the current object instance represents a correctness issue.

Mark the member as static (or Shared in Visual Basic) or use 'this'/'Me' in the method body, if appropriate.

It is safe to suppress a warning from this rule for previously shipped code for which the fix would be a breaking change.