我在
public bool? Enable{get; init}
record
CS8852: Init-only property or indexer can only be assigned in object initializer...
调试器不是应该在内存中编辑吗?为什么不是这样。
我们可以看到init的定义:
在 C# 9 及更高版本中,init 关键字定义属性或索引器中的访问器方法。仅 init-only setter 仅在对象构造期间为属性或索引器元素分配值。 这强制了不变性,因此一旦对象被初始化,就不能再次更改。
所以调试时如果尝试修改其值会报错。
这个链接可以提供更多信息。希望可以帮到你。
这是Visual Studio的一个缺点。 一个可能的“解决方法”是使用 Rider,如果您有许可证 - 在调试会话中,将鼠标悬停在
Enable