.net IDictionary<;int,MyClass>;自定义集合

.net IDictionary<;int,MyClass>;自定义集合,.net,collections,idictionary,.net,Collections,Idictionary,谁能看看这个,告诉我我做错了什么?我在实现GetEnumerator方法时遇到了问题,我找到了一种让IDE创建所有方法的方法,这样我就可以学习如何覆盖它们。有人能帮我完成ProductCollection课程吗?这样我就能更好地理解它了 using System; using System.Linq; using System.Collections; using System.Collections.Generic; /// <summary> /// Product /// &

谁能看看这个,告诉我我做错了什么?我在实现GetEnumerator方法时遇到了问题,我找到了一种让IDE创建所有方法的方法,这样我就可以学习如何覆盖它们。有人能帮我完成ProductCollection课程吗?这样我就能更好地理解它了

using System;
using System.Linq;
using System.Collections;
using System.Collections.Generic;

/// <summary>
/// Product
/// </summary>
[Serializable]
public class Product
{
    //0 _ItemNumber = null;
    //1 _Title = null;
    //2 _Author = null;
    //3 _ISBN = null;
    //4 _ItemMessage = null;
    //5 _ISBNEAN = null;
    //6 _SystemName = null;
    //7 _ItemCategory = null;
    //8 _AccessService = null;
    //9 _AlternateItem = null;
    //10 _FullTitle = null;
    //11 _SalesAnalysisCode = null;
    //12 _SACSummaryCode = null;
    //13 _OwningOrganization = null;
    //14 _ProductManager = null;
    //15 _ProductFormat = null;
    //16 _DefaultWarehouse = null;
    //17 _ItemStatusCode = null;
    //18 _AccessType = null;
    //19 _SubstitutionReason = null;
    //20 _Saleable = null;
    //21 _OKToBackOrder = null;
    //22 _Taxable = null;
    //23 _ExcludeShipping = null;
    //24 _Commissionable = null;
    //25 _Package = null;
    //26 _Royalty = null;
    //27 _PrintOnDemand = null;
    //28 _AllowDescriptionOverride = null;
    private string[] _Product = new string[29];

    /// <summary>
    /// Advantage Product Object
    /// </summary>
    public Product()
    {
    }

    public string Title
    {
        get
        {
            return _Product[0];
        }
        set
        {
            _Product[0] = value;
        }
    }

    public string Author
    {
        get
        {
            return _Product[0];
        }
        set
        {
            _Product[0] = value;
        }
    }

    public string ItemNumber
    {
        get
        {
            return _Product[0];
        }
        set
        {
            _Product[0] = value;
        }
    }

    public string ISBN
    {
        get
        {
            return _Product[0];
        }
        set
        {
            _Product[0] = value;
        }
    }

    public string ItemMessage
    {
        get
        {
            return _Product[0];
        }
        set
        {
            _Product[0] = value;
        }
    }

    public string ISBNEAN
    {
        get
        {
            return _Product[0];
        }
        set
        {
            _Product[0] = value;
        }
    }

    public string AccessService
    {
        get
        {
            return _Product[0];
        }
        set
        {
            _Product[0] = value;
        }
    }

    public string SystemName
    {
        get
        {
            return _Product[0];
        }
        set
        {
            _Product[0] = value;
        }
    }

    public string ItemCategory
    {
        get
        {
            return _Product[0];
        }
        set
        {
            _Product[0] = value;
        }
    }

    public string AlternateItem
    {
        get
        {
            return _Product[0];
        }
        set
        {
            _Product[0] = value;
        }
    }

    public string FullTitle
    {
        get
        {
            return _Product[0];
        }
        set
        {
            _Product[0] = value;
        }
    }

    public string SalesAnalysisCode
    {
        get
        {
            return _Product[0];
        }
        set
        {
            _Product[0] = value;
        }
    }

    public string SACSummaryCode
    {
        get
        {
            return _Product[0];
        }
        set
        {
            _Product[0] = value;
        }
    }

    public string OwningOrganization
    {
        get
        {
            return _Product[0];
        }
        set
        {
            _Product[0] = value;
        }
    }

    public string ProductManager
    {
        get
        {
            return _Product[0];
        }
        set
        {
            _Product[0] = value;
        }
    }

    public string ProductFormat
    {
        get
        {
            return _Product[0];
        }
        set
        {
            _Product[0] = value;
        }
    }

    public string DefaultWarehouse
    {
        get
        {
            return _Product[0];
        }
        set
        {
            _Product[0] = value;
        }
    }

    public string ItemStatusCode
    {
        get
        {
            return _Product[0];
        }
        set
        {
            _Product[0] = value;
        }
    }

    public string AccessType
    {
        get
        {
            return _Product[0];
        }
        set
        {
            _Product[0] = value;
        }
    }

    public string SubstitutionReason
    {
        get
        {
            return _Product[0];
        }
        set
        {
            _Product[0] = value;
        }
    }

    public string Saleable
    {
        get
        {
            return _Product[0];
        }
        set
        {
            _Product[0] = value;
        }
    }

    public string OKToBackOrder
    {
        get
        {
            return _Product[0];
        }
        set
        {
            _Product[0] = value;
        }
    }

    public string Taxable
    {
        get
        {
            return _Product[0];
        }
        set
        {
            _Product[0] = value;
        }
    }

    public string ExcludeShipping
    {
        get
        {
            return _Product[0];
        }
        set
        {
            _Product[0] = value;
        }
    }

    public string Commissionable
    {
        get
        {
            return _Product[0];
        }
        set
        {
            _Product[0] = value;
        }
    }

    public string Package
    {
        get
        {
            return _Product[0];
        }
        set
        {
            _Product[0] = value;
        }
    }

    public string Royalty
    {
        get
        {
            return _Product[0];
        }
        set
        {
            _Product[0] = value;
        }
    }

    public string PrintOnDemand
    {
        get
        {
            return _Product[0];
        }
        set
        {
            _Product[0] = value;
        }
    }

    public string AllowDescriptionOverride
    {
        get
        {
            return _Product[0];
        }
        set
        {
            _Product[0] = value;
        }
    }

    public string[] ProductArray
    {
        get
        {
            return _Product;
        }
        set
        {
            _Product = value;
        }
    }
}


/// <summary>
/// 
/// </summary>
public class ProductCollection : IDictionary<int, Product>
{
private Dictionary<int, Product> dictionaryProduct;

public ProductCollection(int numberOfItem)
{
    dictionaryProduct = new Dictionary<int, Product>(numberOfItem);
}

void IDictionary<int, Product>.Add(int productKey, Product productValue)
{
    dictionaryProduct.Add(productKey, productValue);
}

bool IDictionary<int, Product>.ContainsKey(int productKey)
{
    return dictionaryProduct.ContainsKey(productKey);
}

ICollection<int> IDictionary<int, Product>.Keys
{
    get
    {
        return dictionaryProduct.Keys;
    }
}

bool IDictionary<int, Product>.Remove(int productKey)
{
    return (dictionaryProduct.Remove(productKey));
}

bool IDictionary<int, Product>.TryGetValue(int productKey, out Product productValue)
{
    return (dictionaryProduct.TryGetValue(productKey, out productValue));
}

ICollection<Product> IDictionary<int, Product>.Values
{
    get
    {
        return dictionaryProduct.Values;
    }
}

Product IDictionary<int, Product>.this[int productKey]
{
    get
    {
        return dictionaryProduct[productKey];
    }
    set
    {
        dictionaryProduct[productKey] = value;
    }
}

void ICollection<KeyValuePair<int, Product>>.Add(KeyValuePair<int, Product> productItem)
{
    throw new NotImplementedException();
}

void ICollection<KeyValuePair<int, Product>>.Clear()
{
    dictionaryProduct.Clear();
}

bool ICollection<KeyValuePair<int, Product>>.Contains(KeyValuePair<int, Product> productItem)
{
    return (dictionaryProduct.Contains(productItem));
}

void ICollection<KeyValuePair<int, Product>>.CopyTo(KeyValuePair<int, Product>[] productArray, int arrayIndex)
{
    throw new NotImplementedException();
}

int ICollection<KeyValuePair<int, Product>>.Count
{
    get 
    {
        return dictionaryProduct.Count;
    }
}

bool ICollection<KeyValuePair<int, Product>>.IsReadOnly
{
    get 
    {
        throw new NotImplementedException();
    }
}

bool ICollection<KeyValuePair<int, Product>>.Remove(KeyValuePair<int, Product> productItem)
{
    throw new NotImplementedException();
}

IEnumerator<KeyValuePair<int, Product>> IEnumerable<KeyValuePair<int, Product>>.GetEnumerator()
{
    throw new NotImplementedException();
}

public IEnumerator<KeyValuePair<int, Product>> GetEnumerator()
{
    throw new NotImplementedException();
}

IEnumerator IEnumerable.GetEnumerator()
{
    throw new NotImplementedException();
}
使用系统;
使用System.Linq;
使用系统集合;
使用System.Collections.Generic;
/// 
///产品
/// 
[可序列化]
公共类产品
{
//0 _ItemNumber=null;
//1 _Title=null;
//2 _Author=null;
//3 _ISBN=零;
//4_ItemMessage=null;
//5 _ISBNEAN=null;
//6 _SystemName=null;
//7 _itemcegory=null;
//8_AccessService=null;
//9_AlternateItem=null;
//10 _FullTitle=null;
//11_SalesAnalysisCode=null;
//12 _sacsumarycode=null;
//13 _OwningOrganization=null;
//14_ProductManager=null;
//15_ProductFormat=null;
//16 _DefaultWarehouse=null;
//17_ItemStatusCode=null;
//18 _AccessType=null;
//19 _SubstitutionReason=null;
//20 _Saleable=null;
//21_OKToBackOrder=null;
//22 _=null;
//23 _ExcludeShipping=null;
//24_可佣金=空;
//25_Package=null;
//26 _版税=null;
//27_printonemand=null;
//28_AllowDescriptionOverride=null;
私有字符串[]_Product=新字符串[29];
/// 
///优势产品对象
/// 
公共产品()
{
}
公共字符串标题
{
得到
{
返回产品[0];
}
设置
{
_产品[0]=价值;
}
}
公共字符串作者
{
得到
{
返回产品[0];
}
设置
{
_产品[0]=价值;
}
}
公共字符串ItemNumber
{
得到
{
返回产品[0];
}
设置
{
_产品[0]=价值;
}
}
公共字符串ISBN
{
得到
{
返回产品[0];
}
设置
{
_产品[0]=价值;
}
}
公共字符串项消息
{
得到
{
返回产品[0];
}
设置
{
_产品[0]=价值;
}
}
公共字符串ISBNEAN
{
得到
{
返回产品[0];
}
设置
{
_产品[0]=价值;
}
}
公共字符串访问服务
{
得到
{
返回产品[0];
}
设置
{
_产品[0]=价值;
}
}
公共字符串系统名
{
得到
{
返回产品[0];
}
设置
{
_产品[0]=价值;
}
}
公共字符串ItemCategory
{
得到
{
返回产品[0];
}
设置
{
_产品[0]=价值;
}
}
公共字符串替换项
{
得到
{
返回产品[0];
}
设置
{
_产品[0]=价值;
}
}
公共字符串全称
{
得到
{
返回产品[0];
}
设置
{
_产品[0]=价值;
}
}
公共字符串分析代码
{
得到
{
返回产品[0];
}
设置
{
_产品[0]=价值;
}
}
公共字符串SACSumaryCode
{
得到
{
返回产品[0];
}
设置
{
_产品[0]=价值;
}
}
公共字符串所有权组织
{
得到
{
返回产品[0];
}
设置
{
_产品[0]=价值;
}
}
公共字符串产品管理器
{
得到
{
返回产品[0];
}
设置
{
_产品[0]=价值;
}
}
公共字符串格式
{
得到
{
返回产品[0];
}
设置
{
_产品[0]=价值;
}
}
公共字符串默认仓库
{
得到
{
返回产品[0];
}
设置
{
_产品[0]=价值;
}
}
公共字符串ItemStatusCode
{
得到
{
返回产品[0];
}
设置
{
_产品[0]=价值;
}
}
公共字符串访问类型
{
得到
{
返回产品[0];
}
设置
{
_产品[0]=价值;
}
}
公共字符串替换原因
{
得到
{
返回产品[0];
}
设置
{
_产品[0]=价值;
}
}
可供出售的公共字符串
{
得到
{
返回产品[0];
}
设置
{
_产品[0]=价值;
}
}
公共字符串OKToBackOrder
{
得到
{
返回产品[0];
}
设置
{
_产品[0]=价值;
}
}
公共字符串应纳税
{
得到
{
返回产品[0];
}
设置
{
_产品[0]=价值;
}
}
公共字符串排除装运
{
得到
{
返回产品[0];
}
设置
{
_产品[0]=价值;
}
}
公共字符串佣金
{
得到
{
返回产品[0];
}
设置
{
_产品[0]=价值;
}
}
公共字符串包
{
得到
{
返回产品[0];
}
设置
{
_产品[0]=价值;
}
}
P
using System;
using System.Linq;
using System.Collections;
using System.Collections.Generic;

[Serializable]
public class Product
{
// 0 _ItemNumber = null;
// 1 _Title = null;
// 2 _Author = null;
// 3 _ItemNumber = null;
// ..etc

private string[] _Product = new string[29];

public Product()
{
}

public string Title
{
    get
    {
        return _Product[1];
    }
    set
    {
        _Product[1] = value;
    }
}

public string Author
{
    get
    {
        return _Product[2];
    }
    set
    {
        _Product[2] = value;
    }
}

public string ISBN
{
    get
    {
        return _Product[3];
    }
    set
    {
        _Product[3] = value;
    }
}

public string ItemNumber
{
    get
    {
        return _Product[4];
    }
    set
    {
        _Product[4] = value;
    }
}

}

using System;
using System.Linq;
using System.Collections;
using System.Collections.Generic;

/// <summary>
/// 
/// </summary>
public class ProductCollection : DictionaryBase, IEnumerable
{
public ProductCollection this[int productKey]
{
    get
    {
        return ((ProductCollection)(Dictionary[productKey]));
    }
    set
    {
        Dictionary[productKey] = value;
    }
}

public bool Contains(Product objectProduct)
{
    return Dictionary.Contains(objectProduct);
}

public void Add(Product objectProduct)
{
    Dictionary.Add(objectProduct.ItemNumber, objectProduct);
}

public void Remove(int productKey)
{
    Dictionary.Remove(productKey);
}

IEnumerator IEnumerable.GetEnumerator()
{
    foreach (Product productObject in this.Dictionary.Values)
    {
        yield return productObject;
    }
}
}

protected void Page_Load(object sender, EventArgs e)
{
    Product objectProduct = new Product();
    objectProduct.Title = "Hello Title";
    objectProduct.Author = "Hello Author";
    objectProduct.ISBN = "Hello ISBN";
    objectProduct.ItemNumber = "Hello ItemNumber";

    ProductCollection productCollection = new ProductCollection();
    productCollection.Add(objectProduct);

    rpProducts.DataSource = productCollection;
    rpProducts.DataBind();
}

<asp:Repeater ID="rpProducts" runat="server">
        <ItemTemplate>
            <%# DataBinder.Eval(Container.DataItem, "Title") %>
            <br />
            <%# DataBinder.Eval(Container.DataItem, "Author") %>
        </ItemTemplate>
    </asp:Repeater>
public IEnumerator IEnumerable.GetEnumerator()
{
   return (IEnumerator) GetEnumerator();
}