强制实现类型IEnumerable - System.Collection.Enumerator的显式转换

时间:2013-04-20 17:21:25

标签: c# .net casting ienumerable

是的,它是重复的。
在我发布之前我搜索过并没有找到该帖子。

如何将System.Collections.Enumerator强制转换为System.Collections.Generic.Enumerator< iWord> ?

问题已经结束,所以只是发布最终为我工作的内容。

using System.Collections;

namespace WordEnumerable
{
    /// <summary>
    /// Interaction logic for MainWindow.xaml
    /// </summary>
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
        }
    }
}
public class iWords : IEnumerable<iWord>
{
    private static iWord[] words;
    public iWord this[int index]
    {
        get
        {
            return (iWord)words[index];
        }
    }
    IEnumerator IEnumerable.GetEnumerator()
    {
        return words.GetEnumerator();
    }
    IEnumerator<iWord> IEnumerable<iWord>.GetEnumerator()
    {
        return ((IEnumerable<iWord>)words).GetEnumerator();
    }
    public iWords()
    {
        words = new iWord[1] { new Word(12) };
    }
}
public interface iWord
{
    Int32 Key { get; }
    String Value { get; }
}
public struct Word : iWord
{
    private Int32 key;
    public Int32 Key { get { return key; } }
    public String Value { get { return Key.ToString(); } }
    public Word(Int32 Key) { key = Key; }
}

0 个答案:

没有答案