C# 将char属性限制为特定的选项集
C#中的哪个属性可以将C# 将char属性限制为特定的选项集,c#,asp.net-mvc,attributes,C#,Asp.net Mvc,Attributes,C#中的哪个属性可以将公共字符性别限制为M、F和O,否则将显示错误消息 没有这样的属性,但您可以这样做 public class FOO { private char _foo; public char foo { get { return _foo; } set { if (value == 'M'
公共字符性别
限制为M
、F
和O
,否则将显示错误消息 没有这样的属性,但您可以这样做
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");
}
}
}
}
或者,您可以尝试枚举,并根据需要将其与接口绑定
public enum Gender
{
M,
F,
O
}
你可以在这里用
public class FOO
{
public Gender gender {get;set;}
}
没有这样的属性,但您可以这样做
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");
}
}
}
}
或者,您可以尝试枚举,并根据需要将其与接口绑定
public enum Gender
{
M,
F,
O
}
你可以在这里用
public class FOO
{
public Gender gender {get;set;}
}
当您不需要存储值时,枚举非常好。当您确实需要一个(在本例中,我认为您需要)时,我更喜欢使用公共静态类,如下所示:
public static class Gender
{
public const char Male = 'M';
public const char Female = 'F';
public const char Other = 'O';
}
然后,您可以将其类似于枚举使用,但在本例中,您实际上有一个值:
Gender.Male
当您不需要存储值时,枚举非常好。当您确实需要一个(在本例中,我认为您需要)时,我更喜欢使用公共静态类,如下所示:
public static class Gender
{
public const char Male = 'M';
public const char Female = 'F';
public const char Other = 'O';
}
然后,您可以将其类似于枚举使用,但在本例中,您实际上有一个值:
Gender.Male
使用枚举和单选按钮,而不必验证用户是否键入了有效的字符,这对于像
public enum Gender{Male,Female,Other}
和propertypublic Gender UserSelectedGender{get;set;}
这样的双方来说似乎都很尴尬,因为您无法期望属性。。。是吗?那使用枚举和单选按钮,而不必验证用户是否键入了有效的字符,这对于public enum Gender{Male,Female,Other}
和propertypublic Gender UserSelectedGender{get;set;}
这两个方面来说都是很尴尬的,因为你不能期望得到属性。。。对吧?谢谢你。在第一种方法中,哪个映射到SQL表,\u foo
或foo
?foo是公共属性。那里是私人领地。非常感谢。在第一种方法中,哪个映射到SQL表,\u foo
或foo
?foo是公共属性。那里是私人领地。很好的解决方案,但在我的情况下,另一个更好。非常感谢。很好的解决方案,但在我的情况下,另一个更好。非常感谢。