我尝试使用AIP自动实现的属性错误
public int AIP_NoSet
{
get { ;}
}
编译器说,这是一个错误:
Program.c1.AIP_NoSet.get':不是所有的代码路径返回一个值
但即使我写
public int AIP_NoSet { get { ;} set { ;} }
它显示我同样的错误。
我在哪里错了?
我尝试使用AIP自动实现的属性错误
public int AIP_NoSet
{
get { ;}
}
编译器说,这是一个错误:
Program.c1.AIP_NoSet.get':不是所有的代码路径返回一个值
但即使我写
public int AIP_NoSet { get { ;} set { ;} }
它显示我同样的错误。
我在哪里错了?
片刻derp。
public int AIP_NoSet { get; set; }
听起来像是你想只用 'GET' 定义的自动属性。
这是编译器不允许的。
您可以通过添加一个private
集做到这一点(如其他人回答),或者不使用自动属性:
private int _aip = int.MaxValue;
public int AIP_NoSet { get {return _aip;}}
或者,如果你不想设置,只需要使用一个常量:
public const int AIP_NoSet = 2;
你应该写
public int AIP { get; set; }
当你写{ ;}
之后,这被视为用户实现的属性的语法错误尝试。你不能没有setter,但你可以使setter私有:
public int AIP_PrivateSet { get; private set; }
使setter访问专用并修复语法。
public int AIP_NoSet { get; private set; }
但是,如果我只需要设置,只能得到? – Sergey 2011-01-28 22:15:37