我对 C# 还很陌生,所以如果这是一个愚蠢的问题,请原谅我。我遇到了一个错误,但我不知道如何解决它。我正在使用 Visual Studio 2010。
此代码行
public class GClass1 : KeyedCollection<string, GClass2>
给我错误
'GClass1' does not implement inherited abstract member 'System.Collections.ObjectModel.KeyedCollection<string,GClass2>.GetKeyForItem(GClass2)'
根据我的阅读,这可以通过在继承类中实现抽象成员来解决,如下所示
public class GClass1 : KeyedCollection<string, GClass2>
{
public override TKey GetKeyForItem(TItem item);
protected override void InsertItem(int index, TItem item)
{
TKey keyForItem = this.GetKeyForItem(item);
if (keyForItem != null)
{
this.AddKey(keyForItem, item);
}
base.InsertItem(index, item);
}
然而,这给了我错误,说“找不到类型或命名空间名称 TKey/TItem 找不到。”
帮助!