与 语句和线程同步相关的一些错误:
- CS0185:“type”不是 lock 语句要求的引用类型。
- CS1996:无法在 lock 语句的正文中等待
- CS9217:不能在异步方法或异步 lambda 表达式中针对“System.Threading.Lock”类型的值使用 lock 语句。
此外,编译器可能会生成与 语句和线程同步相关的以下警告:
- CS9216:将类型为 的值转换为其他类型时,可能会在 语句中使用意外的基于监视器的锁定。
- CS0185:“type”不是 lock 语句要求的引用类型。
- CS1996:无法在 lock 语句的正文中等待
- CS9217:不能在异步方法或异步 lambda 表达式中针对“System.Threading.Lock”类型的值使用 lock 语句。
这些错误表明代码违反了有关语句 的规则:
- 要 的对象必须是引用类型。 不允许使用值类型。
- 不能在 语句的作用域中使用 表达式。
- 语句不能与 方法或 lambda 表达式一起使用。 对于此错误,可以将锁定的对象类型替换为其他类型。 语句使用 API。
你必须更新代码,以遵循 语句的规则。
- CS9216:将类型为 的值转换为其他类型时,可能会在 语句中使用意外的基于监视器的锁定。
从 C# 13 开始,当目标对象是 对象时, 将生成专用代码。 当使用的是 对象时,编译器将生成此警告,但代码会将其类型转换为其他类型。 因此,编译器将生成常规锁定代码,而不是特定于 类型的锁定代码。 例如:
你应确保变量或表达式表示 对象的类型。
今天的文章 2026年chronyc同步(chronyc同步不成功)分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ri-ji/43804.html