C#中的哪个属性只能将public char gender
限制为M
,F
和O
,否则会出现错误消息?
答案 0 :(得分:3)
没有这样的属性,但你可以做这样的事情。
public class FOO
{
private char _foo;
public char foo
{
get { return _foo; }
set {
if (value == 'M' || value == 'F' || value == 'O')
{
_foo = value;
}
else
{
throw new Exception("invalid Character");
}
}
}
}
或者您可以尝试ENUM并根据需要将其与界面绑定。
public enum Gender
{
M,
F,
O
}
你可以在这里使用
public class FOO
{
public Gender gender {get;set;}
}
答案 1 :(得分:1)
当您不需要存储值时,枚举非常好。如果你确实需要一个(在这种情况下我认为你这样做),我更喜欢使用公共静态类,如下所示:
public static class Gender
{
public const char Male = 'M';
public const char Female = 'F';
public const char Other = 'O';
}
然后你可以使用它类似于枚举,但在这种情况下你实际上有一个值:
Gender.Male