根据文档:http://msdn.microsoft.com/en-us/library/x13ttww7.aspx:
volatile关键字可以应用于引用类型.
那么为什么在Nullable<T>...参考类型上使用是非法的!
请注意,我实际上并不需要在Nullable<T>字段上使用volatile语义,我偶然遇到了这个错误并且只是好奇.
Jon*_*eet 14
Nullable<T>不是参考类型.这是一种价值类型:
public struct Nullable<T>
where T : struct, new()
Run Code Online (Sandbox Code Playgroud)
注意struct部分.
只是因为它有一个null值不会使它成为引用类型...它是一个可以为null的值类型.有关详细信息,请参阅C#4语言规范的4.1.10节.