C#.NET 索引器
自定义索引器,一般用于自定义集合类中并用来取得集合实例中的某一个元素。
而且C#.NET 有泛型集合可以使用。写这本文章主要是回顾一些容易遗忘的东西。
namespace AspxDemo_Lib
{
public class ProductCollection : CollectionBase
{
public Product this[int index]
{
set { base.InnerList[index] = value; }
get { return (Product)base.InnerList[index]; }
}
public void Add(Product product)
{
base.InnerList.Add(product);
}
}
public class Product
{
public string Name { get; set; }
public string Site { get; set; }
}
}
{
public class ProductCollection : CollectionBase
{
public Product this[int index]
{
set { base.InnerList[index] = value; }
get { return (Product)base.InnerList[index]; }
}
public void Add(Product product)
{
base.InnerList.Add(product);
}
}
public class Product
{
public string Name { get; set; }
public string Site { get; set; }
}
}
下面是在单元测试中 使用刚建的索引器:
[TestMethod]
public void 索引器单元测试()
{
ProductCollection protites = new ProductCollection();
protites.Add(new Product { Name = "A", Site = "001" });
protites.Add(new Product { Name = "B", Site = "002" });
Product expected = null;
Product actual = protites[0];
Assert.AreEqual(expected, actual);
}
public void 索引器单元测试()
{
ProductCollection protites = new ProductCollection();
protites.Add(new Product { Name = "A", Site = "001" });
protites.Add(new Product { Name = "B", Site = "002" });
Product expected = null;
Product actual = protites[0];
Assert.AreEqual(expected, actual);
}