クラスでいくつかの検証を行いたいので、属性を使用できると思いました。このような:
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; }
}
しかし、私はこのコードをすべて使わずに、もっと速くやりたいと思っています。属性を使用するのと同じくらい速くしたい。
私がそれをすることができる方法はありますか?