属性。C#の検証は私がリストを持っているC#MVC、 を使用
リストのアイテム「」の「範囲」(これだけではありません)のような検証を追加したいと思います(すべて同じ属性を持ちます)。
できますか?どうやって?
属性。C#の検証は私がリストを持っているC#MVC、 を使用
リストのアイテム「」の「範囲」(これだけではありません)のような検証を追加したいと思います(すべて同じ属性を持ちます)。
できますか?どうやって?
rangeattributeのソースを調べて、範囲のある汎用リストを検証する独自の属性(http://msdn.microsoft.com/en-us/library/cc668224.aspx)を作成することができます。
ありがとうございます。あなたはいつも
bool validate(int value){
if ((value < min) || (value > max))
return false;
}
それはリストの私を助けるか? – TamarG
'List
取られたコミッションポイントを記入してください。それについて今考えてみましょう。 – SynerCoder
あなたはList<T>
から継承する独自のクラスを作成する必要があります、あなたは「隠す」ことができます新しいメソッドを宣言することにより、Addメソッド:
class TestList : List<int>
{
public int MinValue { get; set; }
public int MaxValue { get; set; }
public TestList(int minValue, int maxValue)
{
this.MinValue = minValue;
this.MaxValue = maxValue;
}
public new void Add(int item)
{
if (item < MinValue || item > MaxValue)
throw new ArgumentException("Value is outside the acceptable range");
base.Add(item);
}
}
編集:はコンストラクタで投げるのを忘れていました。
様々な基準にあなたが任意の検証を実装したい場合は特に、検証を自分で実装することができます
あなたのタイトルには答えがあります。正確に何か問題がありますか? – flq
リストの前に[range(0,4)]を置いても動作しません。リスト内のアイテムではなく、リスト自体のものでなければなりません。 – TamarG
Ok、ポイント取得 – SynerCoder