我不确定发生了什么事。我有以下基类:
public class MyRow : IStringIndexable, System.Collections.IEnumerable,
ICollection<KeyValuePair<string, string>>,
IEnumerable<KeyValuePair<string, string>>,
IDictionary<string, string>
{
ICollection<string> IDictionary<string, string>.Keys { }
}
然后我有这个派生类:
public class MySubRow : MyRow, IXmlSerializable, ICloneable,
IComparable, IEquatable<MySubRow>
{
public bool Equals(MySubRow other)
{
// "MyRow does not contain a definition for 'Keys'"
foreach (string key in base.Keys) { }
}
}
为什么我会收到这个错误?“'MyNamespace.MyRow' 不包含 'Keys' 的定义”。这两个类都在MyNamespace
命名空间中。我尝试访问this.Keys
,base.Keys
但都不能从内部工作MySubRow
。我尝试将Keys
属性标记为public
in,MyRow
但得到“修饰符 'public' 对此项目无效”,我认为是因为有必要实现接口。