当前位置: 代码迷 >> C# >> [新手]怎么在容器添加元素的时候对元素进行检验
  详细解决方案

[新手]怎么在容器添加元素的时候对元素进行检验

热度:194   发布时间:2016-05-05 05:20:54.0
[新手]如何在容器添加元素的时候对元素进行检验
例如在List.Add(element)方法中,可以通过对element的检验(是否为null等),使得当element满足一定条件后才能加入list。
那么有没有办法在数据类定义的时候就写出这个约束?这个想法类似于字段的属性,可以在set中添加约束,这样就不用在每次调用Add方法的地方都检验加入的元素了。

最后想达成的效果如下:

class data
{
    List<string> myList = new List<string>();
    //之后的内容求大神补充

}

class anotherClass
{
    string myString = "hello";
    myList.Add(myString);//插入成功
    myString = “”;
    myList.Add(myString);//插入失败,提示错误信息
}

class yetAnotherClass
{
    string myString = "hello";
    myList.Add(myString);//插入成功
    myString = “”;
    myList.Add(myString);//插入失败,提示错误信息
}

------解决思路----------------------
可以重写一个类来实现,因为你这个地方的Add不是你写的所以你不能控制

Class MyList
{
    List<string> _mylist=new List<string>();
    ......
    public void Add(string para)
    {
         if(para.Length<1)
        {
            throw New Exception("插入数据不能为空!");
        }
        else
        {
            _mylist.Add(para);
        }
    }
}

------解决思路----------------------
写个公共方法,判断一下你的myString就行了。
  相关解决方案