我想在一个类中进行一些验证,所以我想我可以使用属性。像这样:
public class someClass
{
[Lenght(200)]
public string someStr { get; set; }
}
[AttributeUsage(AttributeTargets.All, Inherited = false, AllowMultiple = true)]
sealed class Lenght : Attribute
{
public Lenght(int Lenght)
{
//some code
}
}
但我知道我做不到,因为这不是属性的工作方式。而且,如果有办法,它会使用我想避免的某种沉重的反思和杂乱无章的东西。
我想做的验证是这样的:
public class someClass
{
public string someStr
{
get
{
return _someStr;
}
set
{
if (value.Length > 200)
{
throw new Exception("Max Length is 200!");
}
else _someStr = value;
}
}
private string _someStr { get; set; }
}
但我想做得更快,没有所有这些代码。我想和使用属性一样快。
有办法我可以做到吗?