2012-04-24 9 views
0

属性。C#の検証は私がリストを持っているC#MVC、 を使用

リストのアイテム「」の「範囲」(これだけではありません)のような検証を追加したいと思います(すべて同じ属性を持ちます)。

できますか?どうやって?

+0

あなたのタイトルには答えがあります。正確に何か問題がありますか? – flq

+0

リストの前に[range(0,4)]を置いても動作しません。リスト内のアイテムではなく、リスト自体のものでなければなりません。 – TamarG

+0

Ok、ポイント取得 – SynerCoder

答えて

0

rangeattributeのソースを調べて、範囲のある汎用リストを検証する独自の属性(http://msdn.microsoft.com/en-us/library/cc668224.aspx)を作成することができます。

ありがとうございます。あなたはいつも

bool validate(int value){ 
    if ((value < min) || (value > max)) 
     return false; 
} 
+0

それはリストの私を助けるか? – TamarG

+0

'List 'で動作するとは思いません。 – mgnoonan

+0

取られたコミッションポイントを記入してください。それについて今考えてみましょう。 – SynerCoder

0

あなたは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); 
    } 
} 

編集:はコンストラクタで投げるのを忘れていました。

0

様々な基準にあなたが任意の検証を実装したい場合は特に、検証を自分で実装することができます

関連する問題