0

我想知道我是否可以在 ICollection 中实现 CopyTo。它声明它不使用 ref 关键字。我试过这个,但它不编译

    public void CopyTo(ref KeyValuePair<TKey, TValue>[] destination, int start)
    {
        pairs.CopyTo(destination, start);
    }

它说:

错误 4 'Cyan.Collection.WatchableDictionary' 没有实现接口成员 'System.Collections.Generic.ICollection>.CopyTo(System.Collections.Generic.KeyValuePair[], int)' D:\CE\Supins\Cyan Pembuat Soal\所需操作\ObservableDictionary.cs 15 18 所需操作

但是,如果我删除 ref 关键字,恐怕它在其他 ICollection-Implemented 类中的行为不再正常。(实际上,我正在构建字典)

任何帮助将不胜感激。

如果错误在命名空间 System.Collection 中,请不要感到困惑。我在那个命名空间中设计我的代码。我刚刚将命名空间从 System.Collection 移至 Cyan.Collection。

4

1 回答 1

4

没有ref它是正确的

public void CopyTo(KeyValuePair<TKey, TValue>[] destination, int start)
{
    pairs.CopyTo(destination, start);
}

调用者必须创建具有正确大小的数组,而不是您的方法。

于 2013-08-21T14:27:37.177 回答