C#,无记忆载体的易失性读取?

C#,无记忆载体的易失性读取?,c#,C#,在这篇文章中,我发现了一段我不懂的代码。有人能解释一下这个代码的意思吗 private static class Volatile { public static T Read<T>(ref T value) { return value; } } 私有静态类Volatile { 公共静态T读(参考T值) { 返回值; } } 此方法如何返回值的实际值值可以缓存在某个寄存器中 我错过什

在这篇文章中,我发现了一段我不懂的代码。有人能解释一下这个代码的意思吗

    private static class Volatile
    {
        public static T Read<T>(ref T value)
        {
            return value;
        }
    }
私有静态类Volatile
{
公共静态T读(参考T值)
{
返回值;
}
}
此方法如何返回
值的实际值
<代码>值可以缓存在某个寄存器中

我错过什么了吗


更新:代码就在这里。

你不能告诉我们你在哪个文件中看到过,而不是强迫人们搜索整个存储库,你能找到它吗?幸运的是,它在我点击的第二个文件中:值得注意的是它在
\if NET40
部分中,与
WeakReference
的定义一起-在特定目标下编译时,代码似乎覆盖了这两者的默认行为,而不是试图复制它-如果在没有该集的情况下编译,它将使用正常实现。对于
System.Threading.Volatile
类,抖动将识别方法调用并在运行时提供适当的实现,具体取决于体系结构/CPU。但这不适用于以这种方式命名的任意类。作者可能在某个时候决定支持.NET4.0,并添加了一个简单但不正确的
Volatile.Read
实现。由于它仅用于获取循环内的
列表
字段引用,该循环还使用了
联锁
(发出完整的内存屏障),因此它或多或少是偶然工作的。