【发布时间】:2020-11-18 07:55:23
【问题描述】:
以下代码在 .NET core 3.1 中正常工作,但错误生成警告CS8625 Cannot convert null literal to non-nullable reference type:
#nullable enable
using System.Threading;
namespace InterlockedExchangeNullProblem {
public class Class1 {
public Class1() {
object? o = new object();
var o1 = Interlocked.Exchange(ref o, null); // ok
class2? c = new class2();
var c1 = Interlocked.Exchange(ref c, null); // error CS8625 Cannot convert null literal to non-nullable reference type.
}
}
public class class2{}
}
如果它适用于object?,它也应该适用于class2?。
【问题讨论】:
标签: c# interlocked nullable-reference-types .net-5