属性 在一台机器上工作正常,但在另一台机器上出错
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;}
).
混淆
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.
(强调我的)
我得到了 属性 的代码是这样写的:
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;}
).
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.
(强调我的)