属性 在一台机器上工作正常,但在另一台机器上出错

Property works fine on one machine but it gives an error on another

我得到了 属性 的代码是这样写的:

public bool Expanded { get => expanded; set => expanded = value; }

在一台机器上工作正常,但在另一台机器上全是红色突出显示 ('not all code paths return a value')

当我这样重写它时它工作正常:

public bool Expanded
{
    get { return expanded; }
    set { expanded = value; }
}

但我不想重写。

我在两台机器上都使用 .NET Framework 4.7.1

您知道什么地方可能出错吗?

表达式主体 属性 访问器已添加到 c# 7.0 中,在 c# 6.0 中,您只能对方法使用表达式主体。
Auto 属性 初始化器 (int Count {get;} = 1;) 不要与 expression-bodied 属性 (int Count {get => return 1;}).

混淆

来自What's new in C# 7

C# 6 introduced expression-bodied members for member functions, and read-only properties.
C# 7 expands the allowed members that can be implemented as expressions. In C# 7, you can implement constructors, finalizers, and get and set accessors on properties and indexers.

(强调我的)