JetBrains Rider 2026.1 Help

代码检查:对 'volatile' 字段的捕获引用不会被视为 'volatile'

通过引用传递 volatile 字段会移除在被调用方法中通常的 volatile 访问保证。 这可能导致同步代码变得误导或不安全。

此检查会报告传递 volatile 字段引用的 refout 实参,特殊情况如支持的 interlocked API 除外。

该检查实际上等同于 CS0420 编译器警告

示例

class Example { private volatile int _value; void Update(ref int x) { } void Test() { Update(ref _value); } }
class Example { private volatile int _value; void Update(ref int x) { } void Test() { var value = _value; Update(ref value); } }

快速修复

快速修复会引入一个局部变量,并改为传递该变量。

2026年 5月 8日